0

编辑:

不再相关。由于 Installshield 的困难不仅包括这个问题,而且还包括在 Visual Studio 中使用项目构建它以及无法替换需要替换的旧文件之一的问题,我现在正在用 C# 编写安装程序。我应该早点这样做,因为我现在已经完成了。感谢 Christopher Painter 和 Michael Urman 试图指导我解决这个问题。不幸的是,我没有进一步了解它。

下面是原帖

老实说,这就像拔牙一样。我希望我遗漏了一些明显的东西。我一直在尝试让 Installshield 让我将 INSTALLDIR 设置为环境变量。这是必要的,因为公司做事的方式。我知道我可以通过调用 MSI 并通过参数传递文件夹的批处理文件在安装程序之外设置它,但该解决方案最终以不友好的 MSI 告终。如果有人有任何内部解决方案,请告诉我。

4

2 回答 2

1

Windows Installer 允许您使用属性表示法的变体来引用环境变量。我会建议一种类似于 RobertDickau 的方法,您可以在其中尽早使用 set-property 自定义操作来设置INSTALLDIRfrom [%SOMEVAR]。仅在INSTALLDIR尚未定义的情况下运行自定义操作,以便人们可以INSTALLDIR在命令行上覆盖。请注意,这必须在计算成本之前运行,否则您将不得不找到不同的条件并使用 set-directory 操作(如 Robert 提到的)。

于 2013-10-01T12:07:27.177 回答
1

Windows Installer 具有由 InstallShield 在环境视图和组件中公开的环境表 | 高级设置 | 环境观。

设置环境变量

于 2013-09-30T17:27:42.123 回答