2014-02-18 35 views
0

我正在使用InstallShield 2013 Professional,基本MSI項目。更改圖標在安裝過程中的快捷方式索引

我的安裝包中包含exe文件 - myfile.exe。我在快捷方式視圖中添加了快捷方式,指定myfile.exe作爲圖標文件,0作爲圖標索引。此快捷方式的目標位置是目標框上的桌面。

假設我的可執行文件包含3個圖標資源,並且我想在安裝過程中動態更改圖標。爲了更清楚我想要做什麼:在「安裝對話框」之一上有3個單選按鈕,並且我想將圖標應用於myfile.exe快捷方式,具體取決於選中的單選按鈕(1-st radio button-> 1-st icon ,第2個單選按鈕 - >第2個圖標,第3個單選按鈕 - >第3個圖標)。

我該如何得到這種行爲?換句話說,如何在安裝過程中更改圖標文件的圖標索引?

回答

1

這是一種複雜的請求。一個更簡單的方法是使用不同的名稱和不同的圖標0資源編譯EXE三次,然後使用互斥的組件條件來控制安裝哪一個。

如果這不是一個選項,它會變得更復雜。 Shortcut Table將IconIndex列定義爲整數且不可格式化。這意味着你不能在現場說[ICONINDEX]並在安裝時解決它。

那麼你能做什麼?您可以使用自定義操作在安裝期間動態地將表數據發送到臨時表中。使用C#的例子可以在這裏找到:Dynamic Windows Installer UI

意識到如果有人用手創建快捷方式,他們可能會選擇「錯誤」的圖標。

相關問題