Inno Setup自訂卸載檔案名稱的指令碼

來源:互聯網
上載者:User

Inno Setup 支援在同一個目錄中安裝多個應用程式,所以根據安裝的先後次序自動將卸載程式檔案命名為
unins000.exe,unins001.exe,unins002.exe 等等。這是 INNO SETUP 自身的功能。請參閱
http://www.jrsoftware.org/iskb.php?uninstallername 。

一旦安裝過程結束後,你當然可以將卸載檔案的名稱改成任意其它的檔案名稱,注意的是你除了要更改安裝目錄裡面的 unins00X.exe 和
unins00X.dat,還要更改註冊表中的相關卸載資訊。由於卸載程式檔案的實際位置和名稱可以用常量 {uninstallexe}
表示,所以你可以讓你的安裝程式自動進行這些修改,見樣本指令碼。

 

以下為引用的內容:; Inno Setup 指令碼<br />; 該樣本指令碼顯示如何自訂卸載檔案的名稱(預設為 unins000.exe,unins001.exe 等等)。<br />[Setup]<br />AppName=自訂卸載檔案名稱樣本程式<br />AppVerName=自訂卸載檔案名稱樣本程式 1.0<br />DefaultDirName={pf}/自訂卸載檔案名稱樣本程式<br />DefaultGroupName=自訂卸載檔案名稱樣本程式<br />[Files]<br />Source: "MyProg.exe"; DestDir: "{app}"<br />Source: "MyProg.hlp"; DestDir: "{app}"<br />Source: "Readme.txt"; DestDir: "{app}"<br />[CODE]<br />procedure CurStepChanged(CurStep: TSetupStep);<br />var<br />uninspath, uninsname, NewUninsName, MyAppName: string;<br />begin<br />if CurStep=ssDone then<br />begin<br />// 指定新的卸載檔案名稱(不包含副檔名),請相應修改!<br />NewUninsName := '卸載';<br />// 應用程式名稱,與 [SEUTP] 段的 AppName 必須一致,請相應修改!<br />MyAppName := '自訂卸載檔案名稱樣本程式';<br />// 以下重新命名卸載檔案<br />uninspath:= ExtractFilePath(ExpandConstant('{uninstallexe}'));<br />uninsname:= Copy(ExtractFileName(ExpandConstant('{uninstallexe}')),1,8);<br />RenameFile(uninspath + uninsname + '.exe', uninspath + NewUninsName + '.exe');<br />RenameFile(uninspath + uninsname + '.dat', uninspath + NewUninsName + '.dat');<br />// 以下修改相應的註冊表內容<br />if RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/' + MyAppName + '_is1') then<br />begin<br />RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/' + MyAppName + '_is1', 'UninstallString', '"' + uninspath + NewUninsName + '.exe"');<br />RegWriteStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE/Microsoft/Windows/CurrentVersion/Uninstall/' + MyAppName + '_is1', 'QuietUninstallString', '"' + uninspath + NewUninsName + '.exe" /SILENT');<br />end;<br />end;<br />end;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.