【发布时间】:2010-11-30 23:21:21
【问题描述】:
我正在尝试在运行时更改合并模块的目的地...
让我解释一下: 我有一个合并模块,它的目标设置为 [SystemFolder] 文件夹。
而且我有很多 MSI 项目都指向这个合并模块,都将合并模块(组件)目标指向“(使用合并模块的默认目标)”。
问题: MSI 项目之一需要将合并模块安装到“通用文件”位置(而不是 systyem32 文件夹)。
因此,如果我将 MSI 项目中的合并模块(组件)目标更改为 [CommonFileFolder],则不会发生任何事情(因为合并模块目标仍设置为 [SystemFolder])
或者,如果我将合并模块目标更改为 [TARGETDIR],然后将 MSI 项目中的合并模块(组件)目标更改为 [CommonFileFolder],则可以正常工作。但是我的所有其他 MSI 项目随后会将合并模块安装到根驱动器,因为其他 MSI 项目仍然将合并模块(组件)目标指向“(使用合并模块的默认目标)”。
我不能做这两件事: 我不想将每个 MSI 项目都更改为 [SystemFolder] 或 [CommonFileFolder])。
而且我也不想创建两个相同的合并模块(一个指向 [SystemFolder] 另一个指向 [CommonFileFolder]),所以我只需要更改一个 MSI 项目
如果 MSI 项目将合并模块指向“(使用合并模块的默认目标)”,它们是我可以更改合并模块目标的一种方式吗?
例如: 如果 TARGETDIR = '(使用合并模块的默认目标)' 然后设置 TARGETDIR = [SystemFolder] 否则使用 [TARGETDIR]
或者有其他方法可以解决这个问题吗?
谢谢 比利鲍勃李
【问题讨论】:
标签: merge module installshield