我正在工作的Wix安裝程序詢問用戶是否在桌面上安裝主程序的shorcut。模式做wix升級而不搞亂用戶的桌面圖標
的問題是,在升級期間,該快捷方式刪除,然後重新創建:
- 如果用戶移動的圖標,很可能重新在其他地方(接下來的自由空間,從左上角開始)
- 如果用戶在初始安裝期間選擇不創建圖標,UI升級不記得默認情況下,創建圖標的複選框應該「取消選中」,靜默升級只是創建圖標,儘管用戶明確選擇了沒有創建此圖標。
有沒有簡單的方法來正確處理這種情況?
下面是我的WiX的設置信息:
安裝是每臺機器
的用戶選擇通過其在「選擇目標」的修改版本添加了一個複選框以安裝桌面快捷方式:
<Control Id="DesktopShortcutCheckBox" Type="CheckBox" X="20" Y="160" Width="290" Height="17" Property="INSTALLDESKTOPSHORTCUT" CheckBoxValue="[INSTALLDESKTOPSHORTCUT]" Text="!(loc.InstallDirDlgCreateDesktopShortcut)" />
在UI標籤我已經財產初始化:
<Property Id="INSTALLDESKTOPSHORTCUT" Value="1"/>
這是創建與INSTALLDESKTOPSHORTCUT條件的快捷方式組件:
<Directory Id="DesktopFolder" Name="Desktop">
<Component Id="desktopconnecteurdts" Guid="a-real-guid-here">
<Condition>INSTALLDESKTOPSHORTCUT=1</Condition>
<Shortcut Id="desktopconnecteurdts" Name="DTS eXplorer" WorkingDirectory="ApplicationFolder" Icon="DTSeXplorer.exe" Target="[ApplicationFolder]\DTSeXplorer.exe" Advertise="no" />
</Component>
</Directory>
一旦啓動安裝程序將檢查是否有舊版本存在,刪除舊版本,如果發現:
<Upgrade Id="$(var.UpgradeCode)">
<UpgradeVersion OnlyDetect="no"
Property="PREVIOUSVERSIONSINSTALLED"
Minimum="$(var.OldProductVersion)"
IncludeMinimum="yes"
Maximum="$(var.ProductVersion)"
IncludeMaximum="no"
RemoveFeatures="all" />
<UpgradeVersion OnlyDetect="yes" Property="PROJECT_DOWNGRADE"
Minimum="$(var.ProductVersion)" IncludeMinimum="no" />
</Upgrade>
的產品版本主要不變,例如我從1.6.8.12345升級到1.7.2.56789
謝謝!
您是否找到桌面快捷方式的解決方案? – Andreas 2014-08-14 08:22:25
@Andreas:對於位置:沒有它在每個更新 – 2014-08-14 16:39:11