2015-10-01 61 views
0

我使用Inno Setup創建Windows軟件安裝程序,並且想要爲分發的exe文件(位於C> Program Files> MyProgram)中使用自定義圖標。可能更改應用程序文件的圖標?

到目前爲止,我已經能夠獲得自定義圖標工作(那種)的桌面快捷方式,通過使用下面的代碼,根據[Icon]部分放置...

Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\TheIcon.ico"; Tasks: desktopicon 

當我說它「有點」工作......它自定義了桌面快捷方式的圖標,但與原始圖標的質量相比,圖標的質量看起來很糟糕。

但是更大的問題是......我無法弄清楚如何自定義實際應用程序(exe)文件的圖標或者開始菜單快捷方式。

我都會以爲,以下行會做的應用程序文件的伎倆......

Name: "{pf}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\TheIcon.ico"; 

而且我也認爲下面的代碼會做的開始菜單圖標的伎倆......

Name: "{commonstartup}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; IconFilename: "{app}\TheIcon.ico"; 

但沒有骰子。它只是使用默認圖標。

任何人都可以告訴我做錯了什麼?我會在這裏發佈整個腳本,但似乎堆棧溢出代碼編輯器不喜歡多行大括號(如果有人知道解決方法,我很樂意發佈整個腳本)。

對於這個特定的項目,在通過Inno Setup運行之前更改exe圖標似乎不是一個選項(我嘗試通過Resource Hacker更改它,雖然它成功地更改了exe文件圖標,它破壞的過程中的文件,到哪裏會甚至無法運行:(

如果這是不可能的使用Inno Setup的定製應用程序文件的圖標,然後做我有什麼其他選擇?

回答

2

如您所知,應用程序圖標內置於.exe文件中,Inno安裝程序無法修改.exe文件,並且沒有其他方式可以通過外部程序覆蓋應用程序圖標

在構建安裝程序之前,您必須自己編輯.exe文件。我個人使用Resource Hacker,沒有問題。

確保您正在修改的應用程序的許可證允許進行此類自定義。


在Windows開始菜單中的圖標使用IconFilename確實設置。我也沒有問題。

問題可能在於Windows緩存了開始菜單圖標。因此,如果您之前在「開始」菜單中有該條目,則有時使用新圖標重新安裝應用程序將不會使Windows重置緩存。它不斷顯示舊圖標。嘗試卸載,重新啓動並重新安裝。

+0

感謝您的回覆。我認爲你對Windows緩存開始菜單圖標是正確的,因爲它確實與我嘗試的第一個自定義圖標一起工作,但在嘗試加載任何其他圖標時失敗。不知道爲什麼我無法讓Resource Hacker輸出一個好文件,但是最終的圖標反正看起來不太好。在做了一些更多的研究之後,看起來NSIS可能有能力更改exe文件的圖標,所以我必須對此進行試驗。 – JustAnotherCoder

+0

@JustAnotherCoder我剛剛在幾天前開始使用Inno Setup。我想更改我創建的安裝程序exe文件的默認圖標。你有沒有試過NSIS,看看你是否可以從Inno Setup改變安裝exe文件的圖標? –

相關問題