【发布时间】:2018-02-27 02:05:02
【问题描述】:
我正在为一个程序创建一个 MSI 安装程序,并希望允许人们升级他们的安装,而不是总是卸载/重新安装。
我已经完成了大部分工作,但现在我想将 TARGETDIR(或安装目录)自动设置为用户之前安装应用程序的位置。
在 Visual Studio 中,在启动条件 -> 搜索目标机器下,我找到一个名为 ISUPGRADE 的注册表项,其中包含先前安装的位置(如果已安装),但附加了 /bin/XXXX.dll。我想删除此字符串的结尾并将其设置为 TARGETDIR,以便在此处安装升级。
我可以将静态字符串设置为 TARGETDIR(在 CustomActions 中并引用 InstallExecuteSequence 和 InstallUISequence 中的操作),但我不知道如何用我的变量设置它。
我该怎么做?我正在使用 Visual Studio 生成 .msi 文件和 Powershell 脚本(用于手动/测试编辑的 Orca)来更改文件。
【问题讨论】:
-
类似,但略有不同。听起来他们想获取注册表值,我已经有了值,只需要稍微修改一下字符串。我最终使用自定义操作类型 38(内联 VBscript)来编辑字符串值,然后再使用它来设置我的 TARGETDIR
标签: powershell windows-installer visual-studio-setup-proje orca