Dav*_*man 8 deployment installer visual-studio
我正在创建一个桌面应用程序,需要将SDF文件安装到该SpecialFolder.CommonDocuments
文件夹(C:\Users\Public\documents
在Win 7中).在Visual Studio桌面部署项目中,如何在文件系统编辑器中指定此文件夹?
我尝试在文件系统编辑器中创建一个自定义文件夹,并将其指向"属性"窗格中的CommonDocuments文件夹,如下所示:
不幸的是,该规范不会构建.我不想硬编码文件夹路径,因为它在Windows版本之间有所不同.那么,如何在FileSystem Editor中指定CommonDocuments文件夹?谢谢你的帮助.
Dav*_*man 13
我把它想出来并记录下来用于内部目的.所以,我将在这里重印那篇文章:
Visual Studio部署项目不直接支持CommonDocuments文件夹,但我们可以使用启动条件编辑器添加该支持,该编辑器具有"搜索目标计算机"任务.我们将使用该任务在Windows注册表中搜索Public Documents文件夹的路径,并将结果分配给名为COMDOCFOLDER的安装程序属性(实际上是变量).然后,我们将使用该变量在文件系统编辑器中设置自定义文件夹的路径.
以下是执行任务的步骤.首先,在Visual Studio部署项目中打开启动条件编辑器:
右键单击"搜索目标计算机",然后从"上下文"菜单中选择"添加注册表搜索".将出现一个新项目(见上文1).说出来Get Common Documents Folder
.在属性窗格(参见上面的2)中,将'Property'属性(我们的变量名称)COMDOCFOLDER
设置为,将'Root'属性(要搜索的注册表根密钥)vsdrrHKLM
设置为,并设置'RegKey'属性(The注册表项找到)SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders
.请注意,我们从'RegKey'属性中省略了根密钥.最后,将"Value"属性(我们在注册表项中搜索的值的名称)设置为Common Documents
.COMDOCFOLDER变量现在将保存Public Documents文件夹的路径.
接下来,转到Visual Studio部署项目中的文件系统编辑器:
右键单击"目标计算机上的文件系统",然后从上下文菜单中选择"添加特殊文件夹>自定义文件夹".将出现一个新项目(见上文1).重命名该项目Common Documents
.在属性窗格中(参见上面的2),将"Property"属性设置为COMDOCFOLDER
.我将'DefaultLocation'属性设置为Windows Vista及更高版本的CommonDocuments文件夹的硬编码值; 只有在COMDOCFOLDER属性返回空值时才会使用此值,这不应该发生.安装程序现在有一个Common Documents文件夹,指向Public Registry文件夹,如Windows注册表中所指定.
此Microsoft支持方法中提供了更多信息.
归档时间: |
|
查看次数: |
6582 次 |
最近记录: |