我需要使用Wix創建到現有文件夾(不是文件)的桌面快捷方式。爲了詳細說明,我的安裝程序有一個使用C#編寫的CustomAction程序。這個CustomAction程序創建一個名爲「BSS」的文件夾,其路徑由用戶選擇。使用WiX創建桌面快捷方式到現有文件夾
C:\ ProgramData \ MT \ BSS
現在我需要把桌面快捷方式使用WiX的這個文件夾。但是,由於該文件夾在WiX中沒有文件夾結構,因此遇到問題。我能找到的最接近的代碼如下。
<Directory Id="DesktopFolder" Name="Desktop"/>
<Directory Id="CommonAppDataFolder" Name="ProgramDataFolder"/>
<Component Id="ComponentBSStrageShortcut" Guid="{8436995c-2e76-4030-b92d-c6b4bc243c43}">
<Shortcut Id="ShortcutBSStrageShortcut"
Directory="DesktopFolder"
WorkingDirectory="APPLICATIONFOLDER"
Target="[CommonAppDataFolder]/MTK/BSStrage"
Name="BSStrage"
Show="normal"/>
<RegistryValue Action="write"
Key="SOFTWARE/MTK/BackStreet"
Root="HKCU"
Type="string"
KeyPath="yes"
Value="ApplicationFolderName"/>
</Component>
當我生成安裝這種方式,實際上創建桌面上的快捷方式。但是,WiX似乎認爲BSStrage是一個文件/應用程序,因此它將位於C:\ ProgramData \ MT位置的一個名爲BSStrage的虛擬應用程序放置在一個快捷方式中。但雙擊它沒有幫助,因爲沒有可用於打開它的程序。
顯然我在這裏做錯了。有人可以幫助我,以此來解決這個問題。請注意,我對Wix非常新(僅僅兩天),從未與之合作過。任何代碼示例都會有很大的幫助。
這只是一個瘋狂的猜測,但你有沒有嘗試向目標文件夾路徑添加尾部斜線? – 2010-04-22 09:03:24