2011-04-11 48 views
5

我想從regspy.exe提取COM註冊後,通過WiX註冊進程外COM文件(.exe),並且遇到了我需要編寫的註冊表項的問題:如何獲取Windows Installer屬性的WiX文件夾的簡稱?

<RegistryValue Value="C:\PROGRA~1\COMMON~1\file.exe /Automation" Type="String" /> 

現在我想使用Windows Installer屬性[CommonFilesFolder]因爲不是每個人都將安裝到C:\

對於進程文件(.dll)長的名字是可以接受的:

<RegistryValue Value="[CommonFilesFolder]file.dll" Type="string" /> 

但它似乎沒有不適用於進程外。有沒有辦法說服或將[CommonFilesFolder]轉換爲短名稱?這是x64的特殊問題,因爲名稱將解析爲C:\ PROGRA〜2 \而不是C:\ PROGRA〜1 \

+0

將可執行文件名引起的引號也應該適用於長路徑,如'Value =「" [CommonFilesFolder] file.exe "/Automation」'。 – 2011-04-12 06:02:09

回答

6

使用[!idOfFile]獲取完整的短路徑。 (有關特殊格式化鍵的完整列表,請參閱Formatted in MSI SDK。)

+0

完美的作品!謝謝! – 2011-04-11 21:05:33

相關問題