2015-06-10 27 views
0

在组件的.wxs文件中,只有具有单个文件的组件,这是可生成GUID的情况。 但在我看来,对于.msm(合并模块),组件的GUID应明确指定。或者我可以自由使用Guid =“*”,那会好吗?在生成MergeModule时必须使用Component/@Guid属性

我尝试这样做:<Component Guid="*"> <File Id="$(var.Logger.TargetFileName)" Source="$(var.Logger.TargetPath)" KeyPath="yes" /> </Component>

而且从得到一个错误,即对组件的密钥文件

路径没有植根于 标准目录(如ProgramFilesFolder)之一

... 我很困惑,因为这条路是扎根于Progr am文件<Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="$(var.PlatformProgramFilesFolder)"> <Directory Id="ProductVendor" Name="$(var.BaseProductVendorDirectory)"> <Directory Id="BaseProductDirectory" Name="$(var.BaseProductName)"> <Directory Id="ConfiguratorDir" Name="Configurator" /> </Directory> </Directory> </Directory> </Directory>

+0

通常$(var.PlatformProgramFilesFolder)的计算结果是什么?你的组件有什么目录引用? – bradfordrg

+0

$(var.PlatformProgramFilesFolder)被评估为ProgramFiles64Folder。我的组件引用ConfiguratorDir。 –

回答