Setup Factory 卸载时出现Invalid Start mode :archive filename 无法卸载问题

最近要打包程序在网上找啦几个打包工具最后感觉SetupFactory用着舒服,然后愉快的下载使用,前面都很满意。但是最后安装之后卸载时出现了问题。

执行安装目标下的uninstall.exe后会弹出如下错误在这里插入图片描述
在网上找啦一圈没有发现解决方案。
最后发现生成在开始菜单中卸载快捷方式可以正常卸载
在这里插入图片描述
就是画红框的这个是可以正常执行的,其实用这个也是可以满足需求的但是有的人喜欢到安装目录下去寻找卸载程序(比如我),这个时候就会出现问题,所以我只能继续寻找解决方法, 打开文件位置查看这个文件发现该文件是一个uninstall.exe的快捷方式,只是在该快捷方式执行时执行了一个命令
就是这个
G:\HrzVis\uninstall.exe “/U:g:\HrzVis\Uninstall\uninstall.xml”
它其实是将xml文件传给了卸载程序,然后我的思路就是利用setupfactory的脚本功能自己创建快捷方式添加命令就行啦。
所以解决方法就是:

一 、 安装完成脚本执行如下命令为uninstall.exe添加快捷方式将快捷方式放入安装目录即%AppFolder%内

在这里插入图片描述
Shell.CreateShortcut(SessionVar.Expand("%AppFolder%"), SessionVar.Expand(“卸载%ProductName%”), SessionVar.Expand("%AppFolder%\uninstall.exe"), SessionVar.Expand("%AppFolder%\uninstall.exe “/U:%AppFolder%\Uninstall\uninstall.xml”"), SessionVar.Expand("%AppFolder%"), SessionVar.Expand("%AppFolder%\uninstall.exe"), 0, SW_SHOWNORMAL, nil, “”);
这里有一个需要注意的,如果你使用SetupFactory自带的脚本工具添加脚本代码时在target这项如果使用右边的选择框选目标文件的话是没有uninstall.exe文件的因为这个时候setupfactory还没有添加该文件,所以这个你要使用代码添加。(放心虽然目标文件不存在但是不会报错的)
在这里插入图片描述
二、 这个时候你生成的安装包安装后在安装目录中会有
卸载文件啦,点击卸载吧。不过你会发现卸载完成后这个文件依然会存在,这是因为该文件是你使用脚本自动添加的,所以卸载时卸载目录中没有这个文件的记录。
三、 想要卸载时删除这个文件,有两种方式第一种就是在刚才的脚本代码中将这个文件添加入卸载列表中,第二种是在卸载时删除该文件,因为我的程序在运行时会自动生成日志文件,所以我用的方法是在卸载时直接清空安装目录。
在这里插入图片描述
在这里插入图片描述
resultF = Folder.DoesExist(SessionVar.Expand("%AppFolder%"));
if (resultF) then
Folder.DeleteTree(SessionVar.Expand("%AppFolder%"),nil);
end
至此问题解决。

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值