MSI更新安装

问题描述:

我有两个MSI安装程序,BasicInstaller.msi和updateInstaller.msi.As顾名思义,updateInstaller.msi是一个更新版本(与增加了一些新的文件)基本installer.I已经在UI安装基本安装模式,我已经提到安装路径为“D:/ MSIApp”。MSI更新安装

我以静默模式使用msiexec.cmd(这进入bat文件)安装updateInstaller.msi,该文件覆盖由BasicInstaller.msi创建的文件和注册表项。我能够使用下面的命令

MSIEXEC/I updateInstaller.msi/QN TARGETDIR = d进行安装:/ MSIApp

现在,我在哪里basicInstaller的installated路径寻找逻辑是拾起和updateInstaller安装在同一地点。总之,我想避免TARGERDIR开关硬编码。

如果我没有在指定MSIEXEC TARGETDIR,该updateInstaller安装在默认的 “C:/ PROGRAMFILES/...” 位置。

能有人帮我了解可能的解决方案options.Any帮助。

+0

您需要从项目注册表中编程式地查找以前的目标目录到regedit。为此,您需要为您的项目创建注册表,以便在有新更新时首先搜索注册表,然后进行更新。 – 2013-04-30 06:03:43

+0

http://*.com/questions/5029377/reference-directory-install-path-in-registry-value-using-wix – 2013-04-30 06:05:59

这通常是通过具有安装程序完成放下一个InstallPath(或类似名称)注册表项。随后的安装程序可以读取条目并将其用作其安装路径。

为一个例子见this page

+0

假设OP了解到,重命名MSI需要一个重大的升级,而这正是他有实现。 (与从字面上创建另一个MSI。) – 2013-04-30 14:28:18