inno Setup; 指令碼用 Inno Setup 指令碼嚮導 產生。; 查閱文檔擷取建立 INNO SETUP 指令檔的詳細資料!#define MyAppName "商務標用戶端工具"#define MyAppVerName "商務標用戶端工具1.1.7"#define MyAppVer "1.1.7"#define MyAppPublisher "xxxxx有限公司"#define MyAppURL "http://www.smartaudit.com.cn/"#define MyAppExeName "bjqd.exe";安裝新版本時刪除舊版本[Code]procedure InitializeWizard();var ResultStr: String; ResultCode: Integer;begin {尋找軟體安裝資訊,看是否安裝過次軟體} if RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{24965BF4-BCCE-4776-A7EF-B9F758003242}_is1', 'UninstallString', ResultStr) then if MsgBox('您曾安裝過本軟體,即將卸載舊版本!', mbInformation, MB_YESNO) =IDYES then begin ResultStr := RemoveQuotes(ResultStr); Exec(ResultStr, '', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ResultCode); end;end;//檢測系統是否支援msxml6,不支援則安裝msxml6_86.msiprocedure deinitializeSetup();var ResultCode: Integer;begin //檢測安裝系統是否安裝了msxml6,沒有則運行安裝包msxml6_x86.msi if not FileExists(ExpandConstant('{sys}\msxml6.dll')) then ShellExec('open', ExpandConstant('{%TEMP}\msxml6_x86.msi'), '', '', SW_SHOW, ewNoWait, ResultCode);end;[Setup]; 注意: AppId 的值是唯一識別這個程式的標誌。; 不要在其他程式中使用相同的 AppId 值。; (在編譯器中點擊菜單“工具 -> 產生 GUID”可以產生一個新的 GUID)AppId={{24965BF4-BCCE-4776-A7EF-B9F758003242}AppName={#MyAppName}AppVerName={#MyAppVerName}AppPublisher={#MyAppPublisher}AppPublisherURL={#MyAppURL}AppSupportURL={#MyAppURL}AppUpdatesURL={#MyAppURL};DefaultDirName={pf}\{#MyAppName}DefaultDirName={reg:HKLM\Software\Microsoft\windows\CurrentVersion\Uninstall\商務標用戶端工具_is1,Inno Setup: App Path|{pf}\商務標用戶端工具}DefaultGroupName={#MyAppName};顯示更新資訊;InfoBeforeFile=.\bin\what's new.txtOutputBaseFilename=setup_swbkhdVersionInfoCompany="xxxx有限公司"VersionInfoDescription="商務標用戶端工具"VersionInfoVersion={#MyAppVer}Compression=lzmaSolidCompression=yesAppMutex="商務標用戶端工具"ChangesAssociations=yes[Languages]Name: "default"; MessagesFile: "compiler:Default.isl"[Tasks];案頭捷徑Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked;快速啟動Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked[Files];安裝的源檔案在安裝指令碼的同級目錄下的"商務標用戶端工具"中,主程式為WebBadgeSource: ".\bin\bjqd.exe"; DestDir: "{app}"; Flags: ignoreversionSource: ".\bin\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirsSource: ".\msxml6.0\msxml6_x86.msi"; DestDir: "{%TEMP}"; Flags: ignoreversion; 注意: 不要在任何共用的系統檔案使用 "Flags: ignoreversion" [Icons]Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopiconName: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: quicklaunchicon[Registry];註冊檔案類型Root: HKCR; Subkey: ".tbsj"; ValueType: string; ValueName: ""; ValueData: "投標資料.tbsj";註冊檔案類型描述Root: HKCR; Subkey: "投標資料.tbsj"; ValueType: string; ValueName: ""; ValueData: "投標資料檔案";註冊檔案表徵圖Root: HKCR; Subkey: "投標資料.tbsj\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},0";資源管理員中開啟檔案Root: HKCR; Subkey: "投標資料.tbsj\Shell\Open"; ValueType: string; ValueName: ""; ValueData: "&Open";檔案和自訂程式關聯Root: HKCR; Subkey: "投標資料.tbsj\Shell\Open\Command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1""";註冊檔案類型Root: HKCR; Subkey: ".zbsj"; ValueType: string; ValueName: ""; ValueData: "招標資料.zbsj";註冊檔案類型描述Root: HKCR; Subkey: "招標資料.zbsj"; ValueType: string; ValueName: ""; ValueData: "招標資料檔案";註冊檔案表徵圖Root: HKCR; Subkey: "招標資料.zbsj\DefaultIcon"; ValueType: string; ValueName: ""; ValueData: "{app}\{#MyAppExeName},0";資源管理員中開啟檔案Root: HKCR; Subkey: "招標資料.zbsj\Shell\Open"; ValueType: string; ValueName: ""; ValueData: "&Open";檔案和自訂程式關聯Root: HKCR; Subkey: "招標資料.zbsj\Shell\Open\Command"; ValueType: string; ValueName: ""; ValueData: """{app}\{#MyAppExeName}"" ""%1"""[Run]Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, "&", "&&")}}"; Flags: nowait postinstall skipifsilent;Filename: "{sys}\regsvr32.exe"; Parameters: "/s xxx.ocx"[UninstallDelete]Type: filesandordirs ; Name: "{app}"