我已经构建了一个Visual Studio(2010)安装程序安装项目来部署基本的WinForms应用程序,我需要我的安装程序根据其运行的操作系统创建几个目录。例如,当安装程序在Windows XP(及更早版本)上运行时,我需要创建:
Application Folder\NewFolder
如果安装程序在Vista或更高版本上运行,我需要在公共应用程序数据文件夹下面创建目录(即C:\ ProgramData),如下所示:
Common Application Data Folder\NewFolder
我看到我可以通过View添加“自定义文件夹” - > “文件系统”,但我不知道如何声明这个新文件夹的DefaultLocation属性。它默认为[TARGETDIR]的值,但我不确定如何指定我想要创建的目录的位置。这可以通过Visual Studio安装程序安装项目完成,还是我运气不好?
答案 0 :(得分:3)
Visual Studio安装项目不支持此功能。
其他设置创作工具通过type 51 custom action(带有格式化文本的属性集)支持此功能。
基本上,您的默认TARGETDIR可以指向一个位置,而类型51自定义操作可以在安装期间将其更改为其他位置。此自定义操作可以是conditioned with VersionNT property。
答案 1 :(得分:3)
我终于通过View - >将两个文件夹位置添加到我的设置项目中了。文件系统。然后我为每个文件夹指定了一个条件。对于我想在XP上创建的文件夹,我使用" WindowsBuild< 6000"对于Vista / Windows 7文件夹,我使用了" WindowsBuild> = 6000"。
答案 2 :(得分:0)
在特殊文件夹中,您可以将DefaultLocation设置为[CommonAppDataFolder]。
在XP上,这将解析为c:\ documents and settings \ all users \ application data
在Win 7上,这将解析为c:\ ProgramData