1. 程式人生 > >inno setup學習筆記

inno setup學習筆記

INNO SETUP學習筆記
VNISEdit 編譯環境中編輯指令碼程式碼
工具右邊的NSIS(N),選中後有編輯指令碼,編輯後即可生成setup安裝包
編譯工具上的TITLE欄有幫助,選中幫助開啟可看到語法結構說明書

!define MUI_ICON “C:\Users\jhfg\Desktop\dm.ico”
安裝時圖示展示,setup圖示
SetOutPath “$INSTDIR\res”
建立res目錄 , $INSTDIR指選中的安裝目錄路徑
SetOutPath “C:\酒安”
可直接建立固定路徑資料夾

SetOutPath “KaTeX parse error: Expected 'EOF', got '\Release' at position 56: …D: 專案路徑........\̲R̲e̲l̲e̲a̲s̲e̲\*.*" 主程式選中到D…

INSTDIR\uninst.exe”
刪除安裝目錄下的uninist檔案

RMDir “$INSTDIR\res”
刪除安裝目錄下的res資料夾

關於重複安裝問題,直接貼上如下程式碼,可以體醒二次安裝是否解除安裝上次安裝記錄。
Var UNINSTALL_PROG
Var OLD_VER
Var OLD_PATH

  Function .onInit
	 ClearErrors
	ReadRegStr $UNINSTALL_PROG ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} "UninstallString"
	IfErrors done

	ReadRegStr $OLD_VER ${PRODUCT_UNINST_ROOT_KEY} ${PRODUCT_UNINST_KEY} "DisplayVersion"
	MessageBox MB_YESNOCANCEL|MB_ICONQUESTION \
	 "檢測到本機已經安裝了 ${PRODUCT_NAME} $OLD_VER。\
	 $\n$\n是否先解除安裝已安裝的版本?" \
	 /SD IDYES \
	 IDYES uninstall \
	 IDNO done
	Abort

	uninstall:
	StrCpy $OLD_PATH $UNINSTALL_PROG -10
	ExecWait '"$UNINSTALL_PROG" /S _?=$OLD_PATH' $0
	DetailPrint "uninst.exe returned $0"
	Delete "$UNINSTALL_PROG"
	RMDir $OLD_PATH
	done:

	FunctionEnd