如何在Inno Setup脚本中重定位卸载程序的存放路径?
解决方案
完全可以通过Inno Setup脚本自定义卸载程序的存储路径,无需将整个安装目录迁移到Trusted路径下,具体操作如下:
核心配置方法
Inno Setup的[Setup]段提供了专用的UninstallFilesDir指令,专门用于指定卸载程序(包含unins*.exe、unins*.dat文件)的存放位置,你只需要将该参数的值设置为你的Trusted路径即可。
基础静态配置示例
如果Trusted路径是固定值,直接在脚本中写入配置即可:
[Setup] AppName=你的软件名称 AppVersion=1.0.0 DefaultDirName={pf}\你的软件名称 ; 指定卸载程序存放到Trusted路径下,可根据实际路径修改 UninstallFilesDir=C:\Trusted\你的软件名称 ; 若Trusted路径需要管理员权限写入,开启该配置 PrivilegesRequired=admin
注:Inno生成的卸载程序自带安装目录的关联记录,哪怕卸载程序存放在其他路径,运行时也会自动定位到原安装目录执行卸载操作,不会出现路径关联失效的问题。
动态路径配置方法
如果Trusted路径需要在安装过程中动态获取(比如读取注册表获取、由用户手动选择),可以在[Code]段通过事件函数动态修改配置:
[Code] function InitializeSetup(): Boolean; var TrustedPath: string; begin Result := True; // 此处替换为你自己的逻辑获取Trusted路径 TrustedPath := ExpandConstant('{commonappdata}\Trusted\你的软件名称'); // 动态设置卸载程序存放路径 WizardForm.UninstallFilesDir := TrustedPath; end;
内容的提问来源于stack exchange,提问作者UndeadBob
相关产品推荐
相关产品推荐

