我想在WiX的Doucments位置下复制一个文件.但它给出了警告:
组件testcomp安装到用户配置文件.它必须使用HKCU下的注册表项作为其KeyPath,而不是文件.
我的代码:
<Directory Id='PersonalFolder' Name='MyDocuments'>
<Component Id='testcomp' Guid='08C288B6-D8E0-4036-9CEB-E5F616AC6B5C'>
<File Id='doc_code_file1' Name='doc_code_file1' DiskId='1'
Source='Personalfolder\Visual Studio 2012\Code Snippets\Visual C#\My Code Snippets\SimpleMvvm\mvvmcommand.snippet' KeyPath='yes'></File>
</Component>
</Directory>
Run Code Online (Sandbox Code Playgroud)
Rob*_*ing 21
那是对的.Windows Installer希望将注册表项作为每用户组件的关键路径.它与配置文件在企业部署中使用广告内容的方式有关.修复非常直接:
<Directory Id='PersonalFolder' Name='MyDocuments'>
<Component Id='testcomp' Guid='08C288B6-D8E0-4036-9CEB-E5F616AC6B5C'>
<RegistryValue Root='HKCU' Key='Software\Manufacturer\Product'
Name='Something (I like to use InstallFolder)'
Value='Something (I like to use [INSTALLFOLDER]'
Type='string'
KeyPath='yes' />
<File Id='doc_code_file1' Name='doc_code_file1' DiskId='1'
Source='Personalfolder\Visual Studio 2012\Code Snippets\Visual C#\My Code Snippets\SimpleMvvm\mvvmcommand.snippet' />
</Component>
</Directory>
Run Code Online (Sandbox Code Playgroud)
注意:添加的每用户注册表项及其已标记KeyPath='yes'.后者没有明确的必要,因为它是Component中的第一个资源,默认情况下将被标记为关键路径,但是使用关键路径显式更有效.
| 归档时间: |
|
| 查看次数: |
7445 次 |
| 最近记录: |