可能的操作系统是Win7和WinXP,每个都有自己的目录路径。 Win7安装在C:\ foo和WinXP安装在D:\ foo中。这可以使用Setup Project吗?
我目前正在使用VS2005。
提前致谢。
答案 0 :(得分:0)
首先,如果Windows安装在C:for Windows 7和D:for XP上,您只需将应用程序文件夹默认路径设置为:
[WindowsVolume]foo
WindowsVolume属性会自动解析为Windows分区。
要更改默认的应用程序文件夹路径,您可以在文件系统文件夹中选择它,并在其属性窗格中设置 DefaultLocation 字段。
文件系统编辑器中的应用程序文件夹与TARGETDIR属性相关联。因此,如果您真的想要动态更改它,可以设置此属性。这可以通过type 51 custom action(带有格式化文本的属性集)来完成。
不幸的是,Visual Studio不支持这种类型的操作。因此,您可以使用Orca编辑MSI以添加它,或使用其他设置创作工具。
类型51操作只能在CostInitialize操作之前设置文件夹属性。由于您要设置默认安装文件夹,因此应在InstallUISequence表中安排您的操作。这样,更改将在您的安装UI中显示。
配置自定义操作后,您可以使用VersionNT属性对其进行调整。例如,可以为Windows 7设置默认安装路径:
[WindowsVolume]foo
在这种情况下,您的自定义操作可以将TARGETDIR设置为Windows XP路径:
D:\foo
并且有这个条件:
VersionNT = "501"