【发布时间】:2013-04-30 05:59:50
【问题描述】:
我有两个 MSI 安装程序,BasicInstaller.msi 和 updateInstaller.msi。顾名思义,updateInstaller.msi 是基本安装程序的更新版本(添加了一些新文件)。我在 UI 模式下安装了基本安装程序,我已将安装路径提到为“D:/MSIApp”。
我正在使用 msiexec.cmd(这将进入一个 bat 文件)以静默模式安装 updateInstaller.msi,它会覆盖由 BasicInstaller.msi 创建的文件和注册表项。我可以使用以下命令安装它
msiexec /i updateInstaller.msi /qn TARGETDIR=D:/MSIApp
现在,我正在寻找在 basicInstaller 的安装路径中拾取和 updateInstaller 安装在同一位置的逻辑。简而言之,我想避免 TARGERDIR 开关硬编码。
如果我没有在 msiexec 中指定 TARGETDIR,updateInstaller 会安装在默认的“C:/programfiles/...”位置。
有人可以帮助我解决可能的解决方案吗?任何帮助表示赞赏。
【问题讨论】:
-
你需要从项目注册表中以程序的方式找出之前的目标目录到regedit中。为此,您需要为您的项目创建注册表,以便在有新更新时首先搜索注册表然后更新。
标签: batch-file windows-installer