;=======================================================
; ■6.安裝的所有檔案
;=======================================================
;==============================
; 6.1 安裝類型
; 兩種應該很夠了。
InstType "Minimum"
InstType "Standard"
SetOverwrite on
;==============================
; 6.3 安裝的各個節段
Section "MDaemon" SecMDaemon
SectionIn 1 2
; 6.3.1 中文化的讀我
; 通常塞在安裝的主目錄。
SetOutPath $INSTDIR
File "${README_CHT}"
File "${README_CHS}"
; 6.3.2 中文化的程式檔案
; 通常不使用 *.* 型態,而個別指定,以免包裝錯誤。
; 常常是 *.DLL *.EXE *.AX 等類型。我都把這類放在 cht 為首的工作目錄。
SetOutPath $INSTDIR\app
File "cht\AccountPrune.exe"
File "cht\CFILTER.EXE"
File "cht\IMPORTNT.EXE"
File "cht\ListPrune.exe"
File "cht\MD3CONV.EXE"
File "cht\MDAEMON.EXE"
File "cht\MDCONFIG.EXE"
File "cht\MDLAUNCH.EXE"
File "cht\MDSTATS.EXE"
File "cht\MDUSER.DLL"
File "cht\MDUserLdap.dll"
File "cht\MigrateUsers.exe"
File "cht\ROBOEX32.DLL"
File "cht\UninstallSurvey.exe"
File "cht\UNWISE.EXE"
File "cht\WCIMPORT.EXE"
File "cht\XCEEDZIP.DLL"
; 6.3.3 中文化的文字檔案
;
; 通常是 (*.cnt, *.txt *.dat *.ini) 類型。
; 無語言區分者,仍放在 pack 為首的工作目錄。
; 有語言區分者,放在 text/cht 與 text/chs 為首的工作目錄。
; 6.3.3.1 如果有舊版,會有一些「一定」要刪除的舊版檔案。然後再由安裝程式補上新版。
SetOutPath $INSTDIR\app
Delete "$INSTDIR\app\HELP.DAT"
Delete "$INSTDIR\app\MDAEMON.CNT"
Delete "$INSTDIR\app\acctinfo.dat"
File "pack405\app\CFILTER.INI"
File "pack405\app\MDSTATS.INI"
; 6.3.3.2 如果有舊版,也會有一些「不能刪除」的舊版檔案。
; 這段是使用在 UltraEdit ,把 windows 目錄的 INI 移動過來。MDaemon 不用這一段。
;
; IfFileExists "$WINDIR\UEdit32.ini" DO1 DO2
; DO1: ;把 $WINDIR 的移動到安裝目錄
; Rename "$WINDIR\UEdit32.ini" "$INSTDIR\Uedit32.ini"
; DO2: ;如果沒有,則寫入一個假的 INI,以修正 HTMLTIDY 的功能。如果安裝目錄已有,則不蓋掉。
SetOverwrite off ;停用強制覆寫
File "pack405\app\MDAEMON.INI"
SetOverwrite on ;判斷完畢之後,啟用強制覆寫
; 6.3.3.3 搞一些好玩的,比如塞入自動使軟體註冊的資料
; 正式版本就不要這樣做,以免太囂張,反而不好。
;
; WriteINIStr "$INSTDIR\app\mdaemon.ini" "Registration" "Name" "My_reg_Name"
; WriteINIStr "$INSTDIR\app\mdaemon.ini" "Registration" "Company" "My_reg_Company"
; WriteINIStr "$INSTDIR\app\mdaemon.ini" "Registration" "4XKey" "GDPFFMF-QAWLYFJ-XQDIYAO"
; 6.3.3.4 補上新版檔案
;
; 依照各種語言,自動執行,分配正確的檔案。使用者不必再選擇。
; 先寫一個巨集,自動判斷作業系統語言。 1033 enu, 1028 cht, 2052 chs
;------------------------------------------
!macro MUI_COPYTEXTFILE LANGID ACTION_COPYTEXTFILE
StrCmp $LANGUAGE ${LANGID} "" +3
${ACTION_COPYTEXTFILE}
!macroend
; !insertmacro MUI_COPYTEXTFILE 1033 'File "text405\enu\Help.dat"'
; !insertmacro MUI_COPYTEXTFILE 1033 'File "text405\enu\MDaemon.cnt"'
;
; 英文的不動,只做為對照組。注意單引號和雙引號。
; 這種腳本寫法其實蠻笨的,應該有更好的方法。
!insertmacro MUI_COPYTEXTFILE 1028 'File "text405\cht\Help.dat"'
!insertmacro MUI_COPYTEXTFILE 1028 'File "text405\cht\MDaemon.cnt"'
!insertmacro MUI_COPYTEXTFILE 2052 'File "text405\chs\Help.dat"'
!insertmacro MUI_COPYTEXTFILE 2052 'File "text405\chs\MDaemon.cnt"'
; 6.3.4 非中文化檔案 (不用修改的部分)
; 可使用 *.* 這種型態。 我都把這類放在 pack 為首的工作目錄。
SetOutPath $INSTDIR\app
File "pack405\app\AccountPrune.txt"
File "pack405\app\bwcc32.dll"
File "pack405\app\ADDUSER.SMP"
File "pack405\app\CFAPP.ICO"
File "pack405\app\CFILTER.DLL"
File "pack405\app\DEDUPE.EXE"
File "pack405\app\DIRREORG.EXE"
File "pack405\app\DomainPOP.dsc"
File "pack405\app\EDITUSER.SMP"
File "pack405\app\FILELIST.DAT"
File "pack405\app\INETWH32.DLL"
File "pack405\app\INSTALL.LOG"
File "pack405\app\MailboxSize.exe"
File "pack405\app\MailboxSize.txt"
File "pack405\app\MDAEMON.DSC"
File "pack405\app\MDAEMON.HLP"
File "pack405\app\NTUTIL.DLL"
File "pack405\app\ULREPAIR.EXE"
File "pack405\app\WISECHCK.EXE"
File "pack405\app\WISEUPDT.EXE"
File "pack405\app\WP2WC.EXE"
File "pack405\app\XCDSFX32.BIN"
SetOutPath $INSTDIR\cgi
File "pack405\cgi\*.*"
SectionEnd
Section "MDaemon Docs" SecMDaemonDocs
SectionIn 2
SetOutPath $INSTDIR\docs
File "pack405\docs\*.*"
SetOutPath $INSTDIR\docs\api
File "pack405\docs\api\*.*"
SectionEnd
Section "World Client" SecWorldClient
SectionIn 2
SetOutPath $INSTDIR\wcstandard
File "pack405\wcstandard\*.*"
; 底下為需要中文化的部分
File "cht\wcstandard\WCStandard.exe"
File "cht\wcstandard\WorldClient.dll"
File "cht\wcstandard\XceedZip.dll"
SetOutPath $INSTDIR\wcstandard\html
File "pack405\wcstandard\html\*.*"
SetOutPath $INSTDIR\wcstandard\html\help
File "pack405\wcstandard\html\help\*.*"
SetOutPath $INSTDIR\wcstandard\templates
File "pack405\wcstandard\templates\*.*"
SectionEnd
Section "Web Config" SecWebConfig
SectionIn 2
SetOutPath $INSTDIR\webconfig
File "pack405\webconfig\*.*"
; 底下為需要中文化的部分
File "cht\webconfig\WebConfig.exe"
SetOutPath $INSTDIR\webconfig\html
File "pack405\webconfig\html\*.*"
SetOutPath $INSTDIR\webconfig\templates
File "pack405\webconfig\templates\*.*"
SectionEnd
;==============================
; 6.4 加入到「開始選單」
;
Section "Add shortcut to Start Menu" SecStartMenu
SectionIn 1 2
SetOutPath "$INSTDIR"
CreateDirectory "$SMPROGRAMS\${MUI_PRODUCT}"
; 有時候 CreateShortCut 會出問題,不如用這個動作
; 直接強制 installer 建立目錄。這樣比較賤。
CreateShortCut "$SMPROGRAMS\${MUI_PRODUCT}\MDaemon.lnk" \
"$INSTDIR\app\mdaemon.exe"
CreateShortCut "$SMPROGRAMS\${MUI_PRODUCT}\MDConfig.lnk" \
"$INSTDIR\app\MDConfig.exe"
CreateShortCut "$SMPROGRAMS\${MUI_PRODUCT}\Uninstall ${MUI_PRODUCT}.lnk" \
"$INSTDIR\Uninstall.exe"
SectionEnd
;==============================
; 6.5 加入到「快速啟動」
;
; 不是每個程式都要加入「快速啟動」列,視需要而定。
;
;Section "Add shortcut to Quicklaunch" SecQuicklaunch
; SectionIn 1 2
; CreateShortCut "$QUICKLAUNCH\${MUI_PRODUCT}.lnk" \
; "$INSTDIR\app\${PROGMAINEXE}"
;SectionEnd
;==============================
; 6.6 加入到「桌面」
;
Section "Add shortcut to Desktop" SecDesktop
SectionIn 1 2
CreateShortCut "$DESKTOP\${MUI_PRODUCT}.lnk" \
"$INSTDIR\app\${PROGMAINEXE}"
SectionEnd
;==============================
; 6.6 加入到「滑鼠右鍵」 (* 進階)
;
; 只用在 UltraEdit
;Section "Add to Right mouse button" SecRightMouse
; SectionIn 1 2
; WriteRegStr HKLM "SOFTWARE\Classes\*\shellex\ContextMenuHandlers\UltraEdit-32" "" "{b5eedee0-c06e-11cf-8c56-444553540000}"
; WriteRegStr HKLM "SOFTWARE\Classes\CLSID\{b5eedee0-c06e-11cf-8c56-444553540000}" "" "UltraEdit-32"
; WriteRegStr HKLM "SOFTWARE\Classes\CLSID\{b5eedee0-c06e-11cf-8c56-444553540000}\InProcServer32" "" "$INSTDIR\ue32ctmn.dll"
; WriteRegStr HKLM "SOFTWARE\Classes\CLSID\{b5eedee0-c06e-11cf-8c56-444553540000}\InProcServer32" "ThreadingModel" "Apartment"
;SectionEnd
;=======================================================
; ■7.寫入解除安裝程式
;=======================================================
; 如果你嫌太難,可以不寫解除安裝程式,全部 remark 掉。
;==============================
; 7.1 節段開始
Section "Create Uninstaller" SecCreateUninst
SectionIn 1 2
;==============================
; 7.2 寫入到「註冊表」(基礎)
;
; 一般只有寫下面這一段,指定安裝目錄。
WriteRegStr HKLM "SOFTWARE\${MUI_PRODUCT}" "Install_Dir" "$INSTDIR"
WriteRegStr HKLM "SOFTWARE\${MUI_PRODUCT}" "Installer Language" $LANGUAGE
;==============================
; 7.3 寫入到「註冊表」 (* 進階)
;
; 下面這段註冊表值,只是在 {控制台 | 新增移除程式] 花俏用的。
; 如果看不懂,可以全部不使用。
; 參考
訪客無法瀏覽此圖片或連結,請先 註冊 或 登入會員 。
;
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" \
"DisplayIcon" "$INSTDIR\app\${PROGMAINEXE}"
; "DisplayIcon" "$INSTDIR\${PROGMAINEXE}" ; 一般使用這個型態。只有 MDaemon 例外。
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" \
"DisplayName" "${MUI_PRODUCT} ${VER_1}.${VER_2} ${PATCHTYPE_ENU}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" \
"DisplayVersion" "${VER_1}.${VER_2}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" \
"UninstallString" "$INSTDIR\uninstall.exe"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" \
"URLInfoAbout" "http://www.altn.com/Products/Default.asp?product_id=MDaemon"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" \
"Contact" "
kiiali@cpatch.org"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" \
"HelpLink" "http://www.altn.com/Support/Default.asp?product_id=MDaemon"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" \
"URLUpdateInfo" "http://www.altn.com/Download/Default.asp"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" \
"Readme" "$INSTDIR\${README_CHT}"
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" \
"Comments" "Chinese (P.R.C.) and Chinese (Taiwan) ${MUI_PRODUCT} localized version by Kii Ali, for Mailer Daemon with win32 plateform."
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" \
"Publisher" "Copyright (c) 2002, Alt-N Technology."
;==============================
; 7.4 依照各種語言,自動寫入不同的註冊表值 (* 進階)
; 包括 ENU/CHT/CHS
;------------------------------------------
!macro MUI_REGMUI1 LANGID TEXT
StrCmp $LANGUAGE ${LANGID} "" +3
${TEXT}
!macroend
!insertmacro MUI_REGMUI1 1033 'WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" "Comments" "Chinese (P.R.C.) and Chinese (Taiwan) ${MUI_PRODUCT} localized version by Kii Ali, for Mailer Daemon with win32 plateform." '
!insertmacro MUI_REGMUI1 1028 'WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" "Comments" "中文 (中國大陸) 與 中文 (台灣) ${MUI_PRODUCT} 本地化版本,由 Kii Ali 製作,用於 win32 平台架設個人或公司的信件伺服器。" '
!insertmacro MUI_REGMUI1 2052 'WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" "Comments" "笢恅 (笢弊湮翻) 迵 笢恅 (怢俜) ${MUI_PRODUCT} 掛華趙唳掛ㄛ蠶 Kii Ali 秶釬ㄛ蚚衾 win32 怢殤扢跺麼鼠侗腔蛔璃督昢﹝" '
;==============================
; 7.5 依照各種語言,自動寫入不同的註冊表值 (* 進階)
; 包括 ENU/CHT/CHS
;------------------------------------------
!macro MUI_REGMUI2 LANGID TEXT
StrCmp $LANGUAGE ${LANGID} "" +3
${TEXT}
!macroend
!insertmacro MUI_REGMUI2 1033 'WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" "Publisher" "Copyright (c) 2002, Alt-N Technology." '
!insertmacro MUI_REGMUI2 1028 'WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" "Publisher" "版權所有 (c) 2002, Alt-N Technology. " '
!insertmacro MUI_REGMUI2 2052 'WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}" "Publisher" "唳垀衄 (c) 2002, Alt-N Technology." '
;------------------------------------------
;==============================
; 7.6 現在寫入「解除安裝程式」
; 寫入語言名稱到註冊表 (用於解除安裝程式)
WriteRegStr HKLM "Software\${MUI_PRODUCT}" "Installer Language" $LANGUAGE
WriteUninstaller "$INSTDIR\Uninstall.exe"
SectionEnd
;==============================
; 7.8 顯示「完成」標頭
;如果不想使用「完成」頁面,在這個巨集之後插入。
!insertmacro MUI_SECTIONS_FINISHHEADER
;=======================================================
; ■8.描述功能
;=======================================================
;==============================
; 8.1 描述功能的巨集 (* 進階)
;
; 如果有描述,最好一個一個加入巨集。
; 這一段要在所有的 section 之後,否則會出現「變數名稱沒有找到」。
; 如果 MUI_FUNCTIONS_DESCRIPTION_BEGIN 拆成兩段,會變成重覆呼叫,而導致錯誤。
!insertmacro MUI_FUNCTIONS_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${SecMDaemon} $(DESC_SecMDaemon)
!insertmacro MUI_DESCRIPTION_TEXT ${SecMDaemonDocs} $(DESC_SecMDaemonDocs)
!insertmacro MUI_DESCRIPTION_TEXT ${SecWorldClient} $(DESC_SecWorldClient)
!insertmacro MUI_DESCRIPTION_TEXT ${SecWebConfig} $(DESC_SecWebConfig)
!insertmacro MUI_DESCRIPTION_TEXT ${SecStartMenu} $(DESC_SecStartMenu)
; !insertmacro MUI_DESCRIPTION_TEXT ${SecQuicklaunch} $(DESC_SecQuicklaunch)
!insertmacro MUI_DESCRIPTION_TEXT ${SecDesktop} $(DESC_SecDesktop)
!insertmacro MUI_DESCRIPTION_TEXT ${SecCreateUninst} $(DESC_SecCreateUninst)
; !insertmacro MUI_DESCRIPTION_TEXT ${SecRightMouse} $(DESC_SecRightMouse)
!insertmacro MUI_FUNCTIONS_DESCRIPTION_END
;
;==============================
; 8.2 每個節段的描述文字,直接使用各國語言 (* 進階)
;
; 這是讓滑鼠移動到安裝項目上時,自動出現的描述功能。
; 我使用 ENU/CHT/CHS 三個語言。如果嫌麻煩,可以只使用一個語言,甚至不使用描述。
LangString DESC_SecMDaemon ${LANG_ENGLISH} "MDaemon Server Main Prog"
LangString DESC_SecMDaemonDocs ${LANG_ENGLISH} "Related Documents, manuals"
LangString DESC_SecWorldClient ${LANG_ENGLISH} "Server: reading your emails on browser"
LangString DESC_SecWebConfig ${LANG_ENGLISH} "config server on browser"
LangString DESC_SecStartMenu ${LANG_ENGLISH} "Add icon to Start Menu"
LangString DESC_SecQuicklaunch ${LANG_ENGLISH} "Add icon to QuickLaunch"
LangString DESC_SecDesktop ${LANG_ENGLISH} "Add icon to Desktop"
LangString DESC_SecRightMouse ${LANG_ENGLISH} "Add function of mouse right-click"
LangString DESC_SecCreateUninst ${LANG_ENGLISH} "Create Uninstaller"
LangString DESC_SecMDaemon ${LANG_TRADCHINESE} "MDaemon 伺服器主程式"
LangString DESC_SecMDaemonDocs ${LANG_TRADCHINESE} "相關的文件、手冊"
LangString DESC_SecWorldClient ${LANG_TRADCHINESE} "瀏覽器網頁讀取信件的伺服器"
LangString DESC_SecWebConfig ${LANG_TRADCHINESE} "在瀏覽器組態伺服器"
LangString DESC_SecStartMenu ${LANG_TRADCHINESE} "加入圖示到開始功能表"
LangString DESC_SecQuicklaunch ${LANG_TRADCHINESE} "加入圖示到快速啟動列"
LangString DESC_SecDesktop ${LANG_TRADCHINESE} "加入圖示到桌面"
LangString DESC_SecRightMouse ${LANG_TRADCHINESE} "加入滑鼠右鍵功能"
LangString DESC_SecCreateUninst ${LANG_TRADCHINESE} "建立解除安裝程式"
LangString DESC_SecMDaemon ${LANG_SIMPCHINESE} "MDaemon 督昢翋最唗"
LangString DESC_SecMDaemonDocs ${LANG_SIMPCHINESE} "眈壽腔恅璃﹜忒聊"
LangString DESC_SecWorldClient ${LANG_SIMPCHINESE} "銡擬厙珜黍蛔璃腔督昢"
LangString DESC_SecWebConfig ${LANG_SIMPCHINESE} "婓銡擬饜離督昢"
LangString DESC_SecStartMenu ${LANG_SIMPCHINESE} "氖樓芞梓善※羲宎§粕等"
LangString DESC_SecQuicklaunch ${LANG_SIMPCHINESE} "氖樓芞梓善辦厒雄蹈"
LangString DESC_SecDesktop ${LANG_SIMPCHINESE} "氖樓芞梓善袤醱"
LangString DESC_SecRightMouse ${LANG_SIMPCHINESE} "氖樓扷梓衵瑩髡夔"
LangString DESC_SecCreateUninst ${LANG_SIMPCHINESE} "斐膘賤壺假蚾最唗"
;=======================================================
; ■9.解除安裝程式,真正的動作
;=======================================================
; 這個部分,和前面的建立 CreateUninst ,意味不一樣喔。
; 前者: 把 uninstaller 程式做出來。
; 後者: 指定這個程式,要刪除那些檔案/目錄/註冊表項。
;==============================
; 9.1 節段開始
Section "Uninstall"
; 要移除掉解除安裝程式
Delete "$INSTDIR\Uninstall.exe"
; 移除檔案
Delete "$INSTDIR\App\*.*"
Delete "$INSTDIR\Logs\*.*"
Delete "$INSTDIR\docs\api\CreateUser\*.*"
Delete "$INSTDIR\docs\api\IterateUsers\*.*"
Delete "$INSTDIR\docs\api\Sample COM\MDUserEdit\*.*"
Delete "$INSTDIR\docs\api\Sample COM\*.*"
Delete "$INSTDIR\docs\api\*.*"
Delete "$INSTDIR\docs\*.*"
Delete "$INSTDIR\cgi\*.*"
Delete "$INSTDIR\ARCHIVES\*.*"
Delete "$INSTDIR\BACKUP\*.*"
Delete "$INSTDIR\BADMSGS\*.*"
Delete "$INSTDIR\CFILTER\*.*"
Delete "$INSTDIR\DIGESTS\*.*"
Delete "$INSTDIR\GATEWAYS\*.*"
Delete "$INSTDIR\LOCALQ\LNDOMAIN\*.*"
Delete "$INSTDIR\LOCALQ\*.*"
Delete "$INSTDIR\LOGS\*.*"
Delete "$INSTDIR\PUBLIC~1\*.*"
Delete "$INSTDIR\RAWFILES\*.*"
Delete "$INSTDIR\REMOTEQ\RETRY\*.*"
Delete "$INSTDIR\REMOTEQ\*.*"
Delete "$INSTDIR\SMTPIN\*.*"
Delete "$INSTDIR\WCstandard\HTML\help\*.*"
Delete "$INSTDIR\WCstandard\HTML\*.*"
Delete "$INSTDIR\WCstandard\Temp\*.*"
Delete "$INSTDIR\WCstandard\Templates\*.*"
Delete "$INSTDIR\WCstandard\*.*"
Delete "$INSTDIR\webconfig\HTML\*.*"
Delete "$INSTDIR\webconfig\Temp\*.*"
Delete "$INSTDIR\webconfig\Templates\*.*"
Delete "$INSTDIR\webconfig\*.*"
Delete "$INSTDIR\*.*"
; 移除開始功能表、桌面、快遞啟動等捷徑。
Delete "$SMPROGRAMS\${MUI_PRODUCT}\*.*"
Delete "$DESKTOP\${MUI_PRODUCT}.lnk"
Delete "$QUICKLAUNCH\${MUI_PRODUCT}.lnk"
RMDir "$SMPROGRAMS\${MUI_PRODUCT}"
; 移除使用過的目錄。
RMDir "$INSTDIR\App"
RMDir "$INSTDIR\Logs"
RMDir "$INSTDIR\docs\api\CreateUser"
RMDir "$INSTDIR\docs\api\IterateUsers"
RMDir "$INSTDIR\docs\api\Sample COM\MDUserEdit"
RMDir "$INSTDIR\docs\api\Sample COM"
RMDir "$INSTDIR\docs\api"
RMDir "$INSTDIR\docs"
RMDir "$INSTDIR\cgi"
RMDir "$INSTDIR\ARCHIVES"
RMDir "$INSTDIR\BACKUP"
RMDir "$INSTDIR\BADMSGS"
RMDir "$INSTDIR\CFILTER"
RMDir "$INSTDIR\DIGESTS"
RMDir "$INSTDIR\GATEWAYS"
RMDir "$INSTDIR\LOCALQ\LNDOMAIN"
RMDir "$INSTDIR\LOCALQ"
RMDir "$INSTDIR\LOGS"
RMDir "$INSTDIR\PUBLIC~1"
RMDir "$INSTDIR\RAWFILES"
RMDir "$INSTDIR\REMOTEQ\RETRY"
RMDir "$INSTDIR\REMOTEQ"
RMDir "$INSTDIR\SMTPIN"
RMDir "$INSTDIR\WCstandard\HTML\help"
RMDir "$INSTDIR\WCstandard\HTML"
RMDir "$INSTDIR\WCstandard\Temp"
RMDir "$INSTDIR\WCstandard\Templates"
RMDir "$INSTDIR\WCstandard"
RMDir "$INSTDIR\webconfig\HTML"
RMDir "$INSTDIR\webconfig\Temp"
RMDir "$INSTDIR\webconfig\Templates"
RMDir "$INSTDIR\webconfig"
RMDir "$INSTDIR"
; 刪除 windows 註冊表之中的安裝路徑
DeleteRegKey HKLM SOFTWARE\${MUI_PRODUCT}
; 刪除 windows 註冊表的解除安裝
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${MUI_PRODUCT}"
; 刪除 uninstaller 使用的語言名稱 (* 進階)
DeleteRegvalue HKLM "Software\${MUI_PRODUCT}" "Installer Language"
;顯示「完成」標頭 (* 進階)
!insertmacro MUI_UNFINISHHEADER
SectionEnd
;==============================
; 9.2 解除安裝程式,初始化函式動作 (* 進階)
Function un.onInit
;從註冊表取得語言名稱
ReadRegStr $LANGUAGE HKLM "Software\${MUI_PRODUCT}" "Installer Language"
FunctionEnd
;=======================================================
; ■eof 檔案結尾