setup factory制作安装包卸载出错“Invalid start mode:archive filename”

最近使用setup factory制作程序安装包,出现了安装程序无法正确卸载的问题,其报错如图:

在网上进行了系列检索和自己进行的一系列尝试,找到其出错根本原因为:

安装文件夹下直接运行【Uninstall.exe】会报错,这是由于卸载的相关配置参数均在安装目录下的”Uninstall\uninstall.xml“文件中,直接运行【Uninstall.exe】,无法拿到【Uninstall.xml】中的配置参数,故无法卸载。

后来有如下解决方案

1.直接在命令行运行【".\uninstall.exe" "/U:.\Uninstall\uninstall.xml"】即可正常卸载,或制作".bat"文件,添加到到项目中,其文件内容为【@echo off
".\uninstall.exe" "/U:.\Uninstall\uninstall.xml"】

2.使用setup factory创建卸载快捷方式,在快捷方式中可以拿到【Uninstall.xml】中的配置参数,进行正确卸载。其步骤如下:

1)在【On Post Install】中添加如下代码【Shell.CreateShortcut(SessionVar.Expand("%AppFolder%"),SessionVar.Expand("卸载%ProductName%.exe"),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,"");】,其中红色部分注意,最外侧是英文单引号,空格后面是英文双引号,之所以在空格后面添加英文双引号主要是因为在使用setup factory进行打包的时候,程序默认安装路径为系统的“programfilesfolder”路径(我的电脑是“C:\Program Files (x86)”),由于路径中存在空格,所以在进行卸载时候会报错,路径被切割。

2)在【On Post Uninstall】下面添加代码【resultF = Folder.DoesExist(SessionVar.Expand("%AppFolder%"));
if (resultF) then
Folder.DeleteTree(SessionVar.Expand("%AppFolder%"),nil);
Folder.Delete(SessionVar.Expand("%AppFolder%"));
end】,清理卸载文件夹。

最终采用解决方案二,生成快捷方式进行正确卸载。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在下载卸载Anaconda时出现"InvalidVersionSpecError: Invalid version spec: =2.7"的错误是由于Anaconda要求使用Python版本2.7或3.7以上。根据你提供的引用,错误的具体内容是"Invalid version spec: =2.7"。 为了解决这个问题,你可以尝试以下几个步骤: 1. 确认你正在使用的Python版本。可以在命令行中输入`python --version`来查看当前Python版本。如果版本低于2.7或3.7以上,则需要升级到兼容的版本。 2. 如果你已经安装了Python的较低版本,但是需要使用Anaconda的话,你可以考虑升级Python版本或者使用Conda来管理你的Python环境,而不是使用pip。 3. 如果你已经安装了兼容的Python版本,但是仍然出现了错误,那么可能是由于安装Anaconda时出现了一些问题。你可以尝试重新下载并安装Anaconda,确保你下载的是最新版本的Anaconda,并按照官方提供的安装指南进行安装。 4. 如果上述步骤都没有解决问题,你可以参考引用中提供的官方GitHub讨论链接,查看是否有其他用户遇到了相同的问题,并尝试根据他们的解决方案来解决你的问题。 总结起来,解决"InvalidVersionSpecError: Invalid version spec: =2.7"错误的方法包括确认Python版本、升级Python版本、使用Conda管理Python环境、重新下载并安装最新版本的Anaconda,以及参考官方GitHub讨论链接中的解决方案。希望这些步骤能够帮助你解决问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值