在組件的.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>
通常$(var.PlatformProgramFilesFolder)的計算結果是什麼?你的組件有什麼目錄引用? – bradfordrg
$(var.PlatformProgramFilesFolder)被評估爲ProgramFiles64Folder。我的組件引用ConfiguratorDir。 –