论坛首页
论坛首页 开发者论坛 PortableApps开发 请问jooseng一个事情 [已解决]

请问jooseng一个事情 [已解决]

讨论关于便携软件开发的技术与问题,包括PAL、NSIS、VMware ThinApp及其他。
jooseng 革命同志
革命同志

帖子: 4080
这里有:https://github.com/daemondevin/pac-man
自己研究,别问我。

kli 两把菜刀
两把菜刀

帖子: 30
搞定拉

代码: 全选
StrCpy $0 $WINDIR 3
System::Call 'Kernel32::GetVolumeInformation(t "$0",t,i ${NSIS_MAX_STRLEN},*i,*i,*i,t.r1,i ${NSIS_MAX_STRLEN})i.r0'
IntCmp $0 0 +6
StrCmpS $1 NTFS


只要实际运行时的配置目录的分区是ntfs就支持硬连接,不管来源是否是ntfs

我用
代码: 全选
StrCpy $0 $WINDIR 3
System::Call 'Kernel32::GetVolumeInformation(t "$0",t,i ${NSIS_MAX_STRLEN},*i,*i,*i,t.r1,i ${NSIS_MAX_STRLEN})i.r0'
IntCmp $0 0 +6
StrCmpS $1 NTFS EnableJunction
WriteINIStr "$EXEDIR\Data\${APP}Portable.ini" "${APP}Portable" "Junction" "false"
Goto CheckJunctionEnd
EnableJunction:
WriteINIStr "$EXEDIR\Data\${APP}Portable.ini" "${APP}Portable" "Junction" "true"
CheckJunctionEnd:


代码: 全选
StrCpy $0 $EXEDIR 3
System::Call 'Kernel32::GetVolumeInformation(t "$0",t,i ${NSIS_MAX_STRLEN},*i,*i,*i,t.r1,i ${NSIS_MAX_STRLEN})i.r0'
IntCmp $0 0 +6
StrCmpS $1 NTFS EnableJunction
WriteINIStr "$EXEDIR\Data\${APP}Portable.ini" "${APP}Portable" "Junction" "false"
Goto CheckJunctionEnd
EnableJunction:
WriteINIStr "$EXEDIR\Data\${APP}Portable.ini" "${APP}Portable" "Junction" "true"
CheckJunctionEnd:

测试了,会对不同分区系统写入不同的值

以后便携软件几乎没有难度了

kli 两把菜刀
两把菜刀

帖子: 30
最后附上忙活几天的软件

Filegee个人免费版,是个国内的同步软件,和国外其他强大的Goodsync;FreeFileSync之类的比,我喜欢这个软件的原因是,可以在本地同步后设置自动通过邮件发送备份和同步到国内的网盘上
对于备份一些软件的配置非常的方便

免费版不能更改配置目录,是做这个便携引导器最大的动力,其他就是任务数量的限制,不过我创建7-8个任务都没问题,够用了

下面是地址
链接: https://pan.百度.com/s/1kVP8K8R 密码: 768g

当然,以后不会更新的,包里附有源码,
喜欢用的可以自己在官网下载最新安装包在虚拟机安装后提取filegee目录覆盖
有新的目录删不掉也可以在源码里自己添加

jooseng 革命同志
革命同志

帖子: 4080
你上一个回复中的第2组和第3组代码有何不同?

kli 两把菜刀
两把菜刀

帖子: 30
第2组是检查windir,系统所在目录
第3组是我测试的时候故意使用的exedir,并且把程序放在fat32里运行,检查是否真正有效

更新下源码,删除大量重复申明
Temp.zip
您没有权限查看这个主题的附件。

上一页

回到 PortableApps开发