1. 程式人生 > >Inno Setup 簡單安裝指令碼

Inno Setup 簡單安裝指令碼

; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!

#define MyAppName "XXX軟體"
#define MyAppVersion " 1.1.0"
#define MyAppPublisher "XXX有限公司"
#define MyAppURL "http://www.xxx.com/"
#define MyAppExeName "XXX軟體.exe"
;MySourcePath 程式所在的資料夾路徑
#define MySourcePath "D:\Projects\XXX軟體\bin\Release"  

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{B9FB449D-761A-4A35-B874-807E55DBCDD7}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
;DefaultDirName={pf}\{#MyAppName}      預設的安裝路徑 C:\Program Files
DefaultDirName =D:\XXX軟體\
;DisableProgramGroupPage 如果該項設定為 yes, 安裝程式將不會顯示“選擇程式組”嚮導頁。在這種情況下,它將使用由 [Setup] 段的 DefaultGroupName 關鍵字指定的組名,或者“(Default)”如果沒有指定組名的話
DisableProgramGroupPage=yes
;UsePreviousAppDir 是 yes (預設值)並且安裝程式發現已經安裝了一個相同應用程式的早期版本,它將用先前選擇的目錄代替預設的目錄名稱
UsePreviousAppDir=yes
OutputDir=D:\Inno Out Exe
;DisableDirPage 有效值: yes 或 no 預設值: no 說明: 如果該項設定為 yes, 安裝程式將不會顯示“選擇目標資料夾”嚮導頁。在這種情況下,它將始終使用預設的目錄名。
DisableDirPage=no
OutputBaseFilename=XXX軟體_Ver{#MyAppVersion}
Compression=lzma
SolidCompression=yes
;在控制面板中的顯示的解除安裝資訊
Uninstallable=yes
UninstallDisplayName={#MyAppName}{#MyAppVersion}
UninstallDisplayIcon ={#MySourcePath}\ico\Uninstall.ico
;開始選單中資料夾的名字 , 預設的為Default
DefaultGroupName={#MyAppName}


[Languages]
Name: "chi"; MessagesFile: "compiler:Default.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked

[Files]
Source: "{#MySourcePath}\{#MyAppExeName}"; DestDir: "{app}"; Flags: ignoreversion
Source: "{#MySourcePath}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
; NOTE: Don't use "Flags: ignoreversion" on any shared system files  {#MyAppName}

[Icons]
Name: "{group}\{cm:UninstallProgram, }"; Filename: "{uninstallexe}"
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent

[Files]
Source: "{#MySourcePath}\psvince.dll"; Flags: dontcopy noencryption

[code]

// 安裝時判斷程式是否正在執行
function IsModuleLoaded(modulename: AnsiString ):  Boolean;
external '
[email protected]
:psvince.dll stdcall'; function InitializeSetup():boolean; var IsAppRunning: boolean; begin Result := true; begin Result:= true;//安裝程式繼續 IsAppRunning:= IsModuleLoaded('{#MyAppExeName}'); while IsAppRunning do begin if MsgBox('安裝程式檢測到 {#MyAppExeName} 正在執行!' #13#13 '您必須先關閉它然後單擊“確定”繼續安裝,否則按“取消”退出!', mbConfirmation, MB_OKCANCEL) = IDOK then begin IsAppRunning:= IsModuleLoaded('{#MyAppExeName}') Result:= true; end else begin IsAppRunning:= false; Result:= false; //安裝程式退出 Exit; end; end; end; end;

相關推薦

Inno Setup 簡單安裝指令碼

; Script generated by the Inno Setup Script Wizard. ; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! #define MyA

inno setup打包工具指令碼

; 指令碼由 Inno Setup 指令碼嚮導 生成! ; 有關建立 Inno Setup 指令碼檔案的詳細資料請查閱幫助文件! [Setup] ; 注: AppId的值為單獨標識該應用程式。 ; 不要為其他安裝程式使用相同的AppId值。 ; (生成新的GUID,點選 工

Inno setup製作安裝包時向登錄檔中寫安裝後的路徑

[Registry] Root:HKLM;Subkey:"Software\scas111";Flags:uninsdeletekeyifempty Root:HKLM;Subkey:"Softwa

Inno setup 簡單打包教程

前段時間關注了VC6.0自帶的Installshield打包的使用方法,感覺繁瑣,現在找到一個比較簡單實用的打包小工具Inno setup,使用方法如下。 (1)將編寫好的程式生成Release版本,開啟Inno setup 5小軟體,彈出如下介面: 點選選單欄“檔案”—

Inno Setup獲取安裝引數

function GetMyParam(PName:String):String; var CmdLine : String; CmdLineLen : Integer; i : Integer; begin CmdLineLen:=ParamCount(

inno setup製作安裝包的經驗

   利用inno setup製作安裝包,inno setup下面編寫的指令碼語言用的pascal語言,不過編寫安裝包也只是需要用到簡單的pascal語言語法,然後瞭解一下一些inno setup安裝過程預設執行的函式,其實這些函式右鍵的安裝事件裡面都是有的,大家將需要用到

inno setup製作安裝軟體防止重複安裝原始碼

                                                                                                         INNO:檢測程式是否已經安裝,是則彈出解除安裝提示   

一分鐘學會使用Inno Setup 製作安裝程式

    Inno Setup 是一款免費的安裝製作工具。簡潔而強大,支援 pascal 指令碼,既有適合新手的指令碼嚮導,也有適合高手的的指令碼編輯器。是一個不可多得的安裝製作軟體!目前的版本是Inno Setup 5. 這裡可以下載到最新的Inno Setup。 http:

Inno Setup安裝前先解除安裝舊版本

從登錄檔中獲取 UninstallString 解除安裝資訊,Exec函式來進行解除安裝。。 APP_NAME 就是AppName 名字 [Code] function InitializeSetup(): boolean; var ResultStr: Stri

Inno Setup的常用指令碼

開始選單快捷方式:  [Icons] Name: "{group}\我的程式名稱"; Filename: "{app}\我的程式.exe" ;WorkingDir: "{app}" 桌面快捷方式:  [Icons] Name: "{userdesktop}\我的程式名稱"; Filename: "{app}

inno setup打包安裝程式中讓“是否建立快捷方式”預設為“打鉤”的方法

用inno setup的嚮導建立一個安裝檔案,在選擇“是否建立快捷方式”時,系統預設是“不打鉤”的,如何讓它是打勾的呢?很簡單,修改指令碼下面這段: [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIc

Inno Setup入門(一)——最簡單安裝指令碼

一個最簡單的安裝指令碼: 1.最簡單的安裝檔案指令碼: [setup] AppName=Test AppVerName=TEST DefaultDirName="E:\TEST" AppVersion=1.0 [files] Source: "F:\desktop\ipm

一個比較完整的Inno Setup 安裝指令碼

[Setup]  ; 注: AppId的值為單獨標識該應用程式。  ; 不要為其他安裝程式使用相同的AppId值。  ; (生成新的GUID,點選 工具|在IDE中生成GUID。)  AppId={{A9861883-31C5-4324-BD9A-DC3271EEB675}  ;程式名  AppName=IS

專案inno setup安裝指令碼,帶檢測.net framework

幾乎完全不懂pascal指令碼,只是看過這種安裝指令碼,搞了三天才搞好,各種測試,各種改,終於做出了一個比較完整的安裝包。 要說,還是有很多改進的地方,比如沒有使用procedure,inno setup可以依照勾選項進行不同的安裝步驟,安裝完之後可以也可以進行相應的操作,

inno Setup做應用程式安裝包的示例指令碼(.iss檔案)

{程式安裝前判斷主程式是否在執行} function InitializeSetup(): Boolean; var   ResultCode: Integer; begin   if RegGetSubkeyNames(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Windo

Inno Setup安裝程序單例運行

() 發現 避免 創建 pre 已運行 procedure str tex 1、緣起: KV項目下載底層升級包,老是報出升級文件占用問題,反復分析,不得其所。 今天突然發現同時啟動多個升級程序實例,分析認為安裝包同時被調用多次,導致實例訪問文件沖突,導致此問題。 安裝程序由

inno setup 安裝前判斷進程是否存在,以及停止相應進程<轉>

mat copy ger eve runt don rec run TP 打包的時候遇到了這樣的需求:假似用戶都是傻瓜 式操作,如果更新安裝程序的時候,之前的老程序還在運行這個時候如果你去提示讓用戶吧老程序手動退掉也不現實。 所以當遇到這

inno setup 安裝介面進度條控制

用inno setup製作安裝包會發現一個問題。 預設安裝時候的進度條只是檔案提取的進度。 當檔案提取完成了進度條就已經100% 這時候如果你[Run] 裡面執行的東西比較多,就會顯得安裝進度 100%之後一直卡在那裡,卡了半天才

Inno Setup 指令碼

給你個我用的例子: Delphi/Pascal code   ? 1 2

簡單的LNMP一鍵安裝指令碼

#!/bin/bash nginxdir=/usr/local/nginx phpdir=/usr/local/php mysqldir=/usr/local/mysql htdocs=/data/htdocs mysqldata=/data/mysql logdir=/data/logs p