Installer.nsi
Name "DevEG 1.0"
OutFile "DevEG.exe"
SetCompressor /SOLID lzma
InstallDir "C:\Program Files\DevEG" ; 一定要寫死
RequestExecutionLevel admin
Page components
Page instfiles
UninstPage uninstConfirm
UninstPage instfiles
LoadLanguageFile "${NSISDIR}\Contrib\Language files\TradChinese.nlf"
XPStyle on
Section "DevEG 1.0"
SectionIn RO
SetOutPath $INSTDIR
File "DevEG\dev.bat"
File "Icon\dll\icon.dll"
; 支援 MinGW 的部份
SetOutPath $INSTDIR\MinGW
File /r "DevEG\MinGW\*.bat"
SetOutPath $INSTDIR
File "DevEG\ext.c.bat"
File "DevEG\ext.cpp.bat"
SectionEnd
Section "EmEditor Free 6.00.4"
SectionIn RO
SetOutPath "$TEMP\DevEG"
File "EmEditor\EmEditor.msi"
File "EmEditor\EmEditor_zh-tw.msi"
File "EmEditor\EmEditor.reg"
ExecWait "msiexec /i $TEMP\DevEG\EmEditor.msi /Quiet"
ExecWait "msiexec /i $TEMP\DevEG\EmEditor_zh-tw.msi /Quiet"
ExecWait "regedit /s $TEMP\DevEG\EmEditor.reg"
; 若使用 reg 指令會有命令提示字元的視窗出現,
; 故使用 regedit /s file.reg
; http://support.microsoft.com/kb/310516
RMDir /r "$TEMP\DevEG"
SectionEnd
Section "MinGW (GCC 3.4.5-3)"
SectionIn RO
SetOutPath "C:\MinGW"
File /r "MinGW\*"
SectionEnd
!define ARP "Software\Microsoft\Windows\CurrentVersion\Uninstall\DevEG"
Section
WriteUninstaller "$INSTDIR\uninstall.exe"
; http://nsis.sourceforge.net/Add_uninstall_information_to_Add/Remove_Programs
WriteRegStr HKLM ${ARP} "DisplayName" "DevEG 1.0"
WriteRegStr HKLM ${ARP} "UninstallString" "$\"$INSTDIR\uninstall.exe$\""
WriteRegStr HKLM ${ARP} "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
; EstimatedSize 的設定似乎沒有作用…
SectionEnd
Section "Uninstall"
RMDir /r "C:\MinGW"
ExecWait "msiexec /x {1FB0A2C0-72AB-48D7-8C5E-14B87CF814F9} /Quiet" ; EmEditor_zh-tw
ExecWait "msiexec /x {94E1E0C4-C655-4D4E-A4E1-6674B63A18F1} /Quiet" ; EmEditor
RMDir /r "$INSTDIR" ; 含 uninstall.exe
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\DevEG"
SectionEnd