青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

小默

完美的 NSIS 安裝腳本zz

http://www.yonsm.net/read.php?58
--------------

這幾天稍稍深入地使用了一下 NSIS,功能太強(qiáng)大了。回首看看不比學(xué)習(xí)一門高級(jí)語言容易,不過一般也能信手拈來……

制作了一個(gè) CuteFoto 的 NSIS 安裝腳本,支持多語言,支持自動(dòng)判斷操作系統(tǒng)并優(yōu)先選擇安裝 ASCII/UNICODE或AMD64版本,支持……

感覺應(yīng)該是非常完美了:)

附件下載: 請(qǐng)點(diǎn)這里

其中幾個(gè)地方說明一下:

  • 如果以 SectionGroup 而不是 Section 為第一個(gè)區(qū)段定義,發(fā)現(xiàn) NSIS 無法正常處理默認(rèn)/自定義安裝類型,應(yīng)該是 NSIS 的一個(gè) BUG。但是在d第一個(gè) SectionGroup 之前加上一個(gè)無名的空段 (隱藏),即可解決此問題。即 Section...SectionEnd。
  • 判斷是否是 NT 類操作系統(tǒng): ReadRegStr $0 HKLM "SOFTWAREMicrosoftWindows NTCurrentVersion" "CurrentVersion"
    ${If} $0 != ""
  • 判斷是處理器架構(gòu): ReadRegStr $0 HKLM "SYSTEMCurrentControlSetControlSession ManagerEnvironment" "PROCESSOR_ARCHITECTURE"
    ${If} $0 != "AMD64"
  • 還有單選按鈕支持,看代碼……
  • NSIS 的中文文檔和例子請(qǐng)看這里: http://foobar.nease.net/nsis/ (衷心感謝藍(lán)色網(wǎng)際網(wǎng)友的工作,foobarr.cab 內(nèi)有一個(gè)助手函數(shù)庫,看看也許會(huì)很有用)

 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 頭文件
!include "MUI.nsh"
!include "Sections.nsh"
!include "LogicLib.nsh"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 宏定義
!define STR_AppName "CuteFoto"
!define STR_Version "2.2.240"
!define STR_Publisher "Yonsm.NET"
!define STR_HomepageUrl "http://Yonsm.zj.com"

!define REG_AppPath "Software\Microsoft\Windows\CurrentVersion\App Paths\${STR_AppName}.exe"
!define REG_Uninstall "Software\Microsoft\Windows\CurrentVersion\Uninstall\${STR_AppName}"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; MUI 設(shè)置
!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\orange-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\orange-uninstall.ico"
!define MUI_WELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange.bmp"
!define MUI_UNWELCOMEFINISHPAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Wizard\orange-uninstall.bmp"
!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\orange.bmp"
!define MUI_HEADERIMAGE_UNBITMAP "${NSISDIR}\Contrib\Graphics\Header\orange-uninstall.bmp"

; 組件頁面設(shè)置
!define MUI_COMPONENTSPAGE_SMALLDESC

; 完成安裝頁面設(shè)置
!define MUI_FINISHPAGE_RUN "$INSTDIR\${STR_AppName}.exe"
!define MUI_FINISHPAGE_SHOWREADME "$INSTDIR\${STR_AppName}.chm"
!define MUI_FINISHPAGE_SHOWREADME_TEXT "$(LNG_ShowHelp)"
!define MUI_FINISHPAGE_LINK "${STR_AppName} $(LNG_Homepage): ${STR_HomepageUrl}"
!define MUI_FINISHPAGE_LINK_LOCATION "${STR_HomepageUrl}"

; 語言選擇設(shè)置
!define MUI_LANGDLL_REGISTRY_ROOT "HKLM"
!define MUI_LANGDLL_REGISTRY_KEY "${REG_Uninstall}"
!define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language"

; 安裝頁面
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_LICENSE "$(LNG_License)"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH

; 卸載頁面
!insertmacro MUI_UNPAGE_WELCOME
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH

; 語言支持
!insertmacro MUI_LANGUAGE "English"
!insertmacro MUI_LANGUAGE "SimpChinese"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 語言相關(guān)字符串
LicenseLangString LNG_License ${LANG_ENGLISH} 
"EULA.ENU.rtf"
LangString LNG_BrandingText ${LANG_ENGLISH} 
"Expert -> Professional -> Absorbedly"

LangString LNG_DefaultInstation ${LANG_ENGLISH} 
"Default installtion"
LangString LNG_FullInstation ${LANG_ENGLISH} 
"Full installtion"
LangString LNG_MinimalInstation ${LANG_ENGLISH} 
"Minimal installtion"

LangString LNG_Help ${LANG_ENGLISH} 
"Help"
LangString LNG_Homepage ${LANG_ENGLISH} 
"Homepage"
LangString LNG_Uninstall ${LANG_ENGLISH} 
"Uninstall"
LangString LNG_ShowHelp ${LANG_ENGLISH} 
"Show Help"

LangString LNG_ProgramFile ${LANG_ENGLISH} 
"Program Files"
LangString LNG_LanguageFile ${LANG_ENGLISH} 
"Language Files"
LangString LNG_CreateShortcut ${LANG_ENGLISH} 
"Create Shortcut"

LangString LNG_ProgramMenuShortcutGroup ${LANG_ENGLISH} 
"Program Menu Shortcut Group"
LangString LNG_DesktopShortcut ${LANG_ENGLISH} 
"Desktop Shortcut"
LangString LNG_ProgramMenuShortcut ${LANG_ENGLISH} 
"Program Menu Shortcut"
LangString LNG_StartMenuShortcut ${LANG_ENGLISH} 
"Start Menu Shortcut"
LangString LNG_QuickLaunchShortcut ${LANG_ENGLISH} 
"Quick Launch Bar Shortcut"

LangString LNG_ProgramFileDesc ${LANG_ENGLISH} 
"Install ${STR_AppName} program files."
LangString LNG_LanguageFileDesc ${LANG_ENGLISH} 
"Install ${STR_AppName} language files."
LangString LNG_CreateShortcutDesc ${LANG_ENGLISH} 
"Create shortcuts to launch the program easy."

LangString LNG_X86AsciiDesc ${LANG_ENGLISH} 
"ASCII version on WIN32 platform for X86 architecture (The only choice on WIN9X OS for X86 architecture)."
LangString LNG_X86UnicodeDesc ${LANG_ENGLISH} 
"Unicode version on WIN32 platform for X86 architecture (Preferred on WINNT OS for X86 architecture)."
LangString LNG_X64UnicodeDesc ${LANG_ENGLISH} 
"Unicode version on WIN64 platform for X64 architecture (Preferred on WIN64 OS for X64 architecture)."


LicenseLangString LNG_License ${LANG_SIMPCHINESE} 
"EULA.CHS.rtf"
LangString LNG_BrandingText ${LANG_SIMPCHINESE} 
"專家 -> 專業(yè) -> 專心"

LangString LNG_DefaultInstation ${LANG_SIMPCHINESE} 
"默認(rèn)安裝"
LangString LNG_FullInstation ${LANG_SIMPCHINESE} 
"完全安裝"
LangString LNG_MinimalInstation ${LANG_SIMPCHINESE} 
"最小安裝"

LangString LNG_Help ${LANG_SIMPCHINESE} 
"幫助"
LangString LNG_Homepage ${LANG_SIMPCHINESE} 
"主頁"
LangString LNG_Uninstall ${LANG_SIMPCHINESE} 
"卸載"
LangString LNG_ShowHelp ${LANG_SIMPCHINESE} 
"查看幫助"

LangString LNG_ProgramFile ${LANG_SIMPCHINESE} 
"程序文件"
LangString LNG_LanguageFile ${LANG_SIMPCHINESE} 
"語言文件"
LangString LNG_CreateShortcut ${LANG_SIMPCHINESE} 
"創(chuàng)建快捷方式"

LangString LNG_ProgramMenuShortcutGroup ${LANG_SIMPCHINESE} 
"程序菜單快捷方式組"
LangString LNG_DesktopShortcut ${LANG_SIMPCHINESE} 
"桌面快捷方式"
LangString LNG_ProgramMenuShortcut ${LANG_SIMPCHINESE} 
"程序菜單快捷方式"
LangString LNG_StartMenuShortcut ${LANG_SIMPCHINESE} 
"開始菜單快捷方式"
LangString LNG_QuickLaunchShortcut ${LANG_SIMPCHINESE} 
"快速啟動(dòng)欄快捷方式"

LangString LNG_ProgramFileDesc ${LANG_SIMPCHINESE} 
"安裝 ${STR_AppName} 程序文件。"
LangString LNG_LanguageFileDesc ${LANG_SIMPCHINESE} 
"安裝 ${STR_AppName} 語言文件。"
LangString LNG_CreateShortcutDesc ${LANG_SIMPCHINESE} 
"創(chuàng)建用于快速訪問的快捷方式。"

LangString LNG_X86AsciiDesc ${LANG_SIMPCHINESE} 
"安裝 X86 架構(gòu) WIN32 平臺(tái)上的  ASCII 版本。這是在 X86 架構(gòu) WIN9X 類操作系統(tǒng)中的唯一選擇。"
LangString LNG_X86UnicodeDesc ${LANG_SIMPCHINESE} 
"安裝 X86 架構(gòu) WIN32 平臺(tái)上的 UNICODE 版本。這是在 X86 架構(gòu) WINNT 類操作系統(tǒng)中的優(yōu)先選擇。"
LangString LNG_X64UnicodeDesc ${LANG_SIMPCHINESE} 
"安裝 X64 架構(gòu) WIN64 平臺(tái)上的 UNICODE 版本。這是在 X64 架構(gòu) WIN64 類操作系統(tǒng)中的優(yōu)先選擇。"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 雜項(xiàng)
Name 
"${STR_AppName} ${STR_Version}"
OutFile 
"${STR_AppName}.${STR_Version}.exe"
InstallDir 
"$PROGRAMFILES\${STR_AppName}"
InstallDirRegKey HKLM 
"${REG_AppPath}" ""
ShowInstDetails SHOW
ShowUnInstDetails SHOW
BrandingText 
"$(LNG_BrandingText)"
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;




;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 安裝類型
!ifndef NOINSTTYPES
    InstType 
"$(LNG_DefaultInstation)"
    InstType 
"$(LNG_FullInstation)"
    InstType 
"$(LNG_MinimalInstation)"
!endif
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 程序文件
Section
SectionEnd
SectionGroup 
/"$(LNG_ProgramFile)" SEC_ProgramFile
    Section 
"-HelpFile" SEC_HelpFile
        SetOutPath 
"$INSTDIR"
        SetOverwrite ON 
        
        File 
"..\Help\CuteFoto.chm"
    SectionEnd

    Section 
"X86 ASCII" SEC_X86Ascii
        SectionIn 
1 2 3
        File 
"..\Release\CuteFoto.exe"
    SectionEnd

    Section 
"X86 UNICODE" SEC_X86Unicode
        SectionIn 
5 RO
        File 
"..\Unicode\Release\CuteFoto.exe"
    SectionEnd

    Section 
"X64 UNICODE" SEC_X64Unicode
        SectionIn 
5 RO
        File 
"..\AMD64\Release\CuteFoto.exe"
    SectionEnd
SectionGroupEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 語言文件
SectionGroup 
"$(LNG_LanguageFile)" SEC_LanguageFile
    Section 
"English" SEC_English
        SectionIn 
2
        File 
"..\Release\English.lng"
    SectionEnd

    Section 
"CAPITAL ENGLISH" SEC_CapitalEnglish
        SectionIn 
1 2
        File 
"..\Release\English (Capital).lng"
    SectionEnd

    Section 
"簡(jiǎn)體中文" SEC_SimplifiedChinese
        SectionIn 
1 2
        File 
"..\Release\Chinese (Simplified).lng"
    SectionEnd
SectionGroupEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 快捷方式
SectionGroup 
"$(LNG_CreateShortcut)" SEC_Shortcut
    SectionGroup 
"$(LNG_ProgramMenuShortcutGroup)" SEC_ProgramMenuShortcutGroup
        Section 
"${STR_AppName}" SEC_AppNameShortcut
            SectionIn 
1 2
            CreateDirectory 
"$SMPROGRAMS\${STR_AppName}"
            CreateShortCut 
"$SMPROGRAMS\${STR_AppName}\${STR_AppName}.lnk" "$INSTDIR\${STR_AppName}.exe"
        SectionEnd

        Section 
"${STR_AppName} $(LNG_Help)" SEC_HelpShortcut
            SectionIn 
1 2
            CreateDirectory 
"$SMPROGRAMS\${STR_AppName}"
            CreateShortCut 
"$SMPROGRAMS\${STR_AppName}\${STR_AppName} $(LNG_Help).lnk" "$INSTDIR\${STR_AppName}.chm"
        SectionEnd

        Section 
"${STR_AppName} $(LNG_Homepage)" SEC_HomePageShortcut
            SectionIn 
1 2
            CreateDirectory 
"$SMPROGRAMS\${STR_AppName}"
            WriteINIStr 
"$SMPROGRAMS\${STR_AppName}\${STR_AppName} $(LNG_Homepage).url" "InternetShortcut" "URL" "${STR_HomepageUrl}"
        SectionEnd

        Section 
"$(LNG_Uninstall) ${STR_AppName}" SEC_UninstallShortcut
            SectionIn 
1 2
            CreateDirectory 
"$SMPROGRAMS\${STR_AppName}"
            CreateShortCut 
"$SMPROGRAMS\${STR_AppName}\$(LNG_Uninstall) ${STR_AppName}.lnk" "$INSTDIR\Uninstall ${STR_AppName}.exe"
        SectionEnd
    SectionGroupEnd

    Section 
"$(LNG_DesktopShortcut)" SEC_DesktopShortcut
        SectionIn 
1 2
        CreateShortCut 
"$DESKTOP\${STR_AppName}.lnk" "$INSTDIR\${STR_AppName}.exe"
    SectionEnd

    Section 
"$(LNG_ProgramMenuShortcut)" SEC_ProgramMenuShortcut
        SectionIn 
2
        CreateShortCut 
"$SMPROGRAMS\${STR_AppName}.lnk" "$INSTDIR\${STR_AppName}.exe"
    SectionEnd
    
    Section 
"$(LNG_StartMenuShortcut)" SEC_StartMenuShortcut
        SectionIn 
2
        CreateShortCut 
"$STARTMENU\${STR_AppName}.lnk" "$INSTDIR\${STR_AppName}.exe"
    SectionEnd

    Section 
"$(LNG_QuickLaunchShortcut)" SEC_QuickLaunchShortcut
        SectionIn 
2
        CreateShortCut 
"$QUICKLAUNCH\${STR_AppName}.lnk" "$INSTDIR\${STR_AppName}.exe"
    SectionEnd
SectionGroupEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 完成安裝
Section 
"-PostInstall"
    WriteUninstaller 
"$INSTDIR\Uninstall ${STR_AppName}.exe"
    WriteRegStr HKLM 
"${REG_AppPath}" "" "$INSTDIR\CuteFoto.exe"
    WriteRegStr HKLM 
"${REG_Uninstall}" "DisplayName" "$(^Name)"
    WriteRegStr HKLM 
"${REG_Uninstall}" "UninstallString" "$INSTDIR\Uninstall ${STR_AppName}.exe"
    WriteRegStr HKLM 
"${REG_Uninstall}" "DisplayIcon" "$INSTDIR\CuteFoto.exe"
    WriteRegStr HKLM 
"${REG_Uninstall}" "DisplayVersion" "${STR_Version}"
    WriteRegStr HKLM 
"${REG_Uninstall}" "URLInfoAbout" "${STR_HomepageUrl}"
    WriteRegStr HKLM 
"${REG_Uninstall}" "Publisher" "${STR_Publisher}"
SectionEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 卸載
Section 
"Uninstall"
    Delete 
/REBOOTOK "$SMPROGRAMS\${STR_AppName}\${STR_AppName}.lnk"
    Delete 
/REBOOTOK "$SMPROGRAMS\${STR_AppName}\${STR_AppName} $(LNG_Help).lnk"
    Delete 
/REBOOTOK "$SMPROGRAMS\${STR_AppName}\${STR_AppName} $(LNG_Homepage).url"
    Delete 
/REBOOTOK "$SMPROGRAMS\${STR_AppName}\$(LNG_Uninstall) ${STR_AppName}.lnk"

    Delete 
/REBOOTOK "$DESKTOP\${STR_AppName}.lnk"
    Delete 
/REBOOTOK "$SMPROGRAMS\${STR_AppName}.lnk"
    Delete 
/REBOOTOK "$STARTMENU\${STR_AppName}.lnk"
    Delete 
/REBOOTOK "$QUICKLAUNCH\${STR_AppName}.lnk"

    Delete 
/REBOOTOK "$INSTDIR\${STR_AppName}.exe"
    Delete 
/REBOOTOK "$INSTDIR\${STR_AppName}.chm"
    Delete 
/REBOOTOK "$INSTDIR\English.lng"
    Delete 
/REBOOTOK "$INSTDIR\English (Capital).lng"
    Delete 
/REBOOTOK "$INSTDIR\Chinese (Simplified).lng"

    Delete 
/REBOOTOK "$INSTDIR\${STR_AppName}.ini"
    Delete 
/REBOOTOK "$INSTDIR\Uninstall ${STR_AppName}.exe"

    RMDir 
/REBOOTOK "$SMPROGRAMS\${STR_AppName}"
    RMDir 
/REBOOTOK "$INSTDIR"

    DeleteRegKey HKLM 
"${REG_Uninstall}"
    DeleteRegKey HKLM 
"${REG_AppPath}"
    SetAutoClose True
SectionEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 節(jié)描述
!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_ProgramFile} "$(LNG_ProgramFileDesc)"
    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_LanguageFile} "$(LNG_LanguageFileDesc)"
    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_Shortcut} "$(LNG_CreateShortcutDesc)"

    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_X86Ascii} "$(LNG_X86AsciiDesc)"
    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_X86Unicode} "$(LNG_X86UnicodeDesc)"
    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_X64Unicode} "$(LNG_X64UnicodeDesc)"

    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_English} "Install language file: English (For translation only)."
    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_CapitalEnglish} "INSTALL LANGUAGE FILE: CAPITAL ENGLISH."
    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_SimplifiedChinese} "安裝語言文件: 簡(jiǎn)體中文。"

    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_ProgramMenuShortcutGroup} "$(LNG_CreateShortcutDesc)"
    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_DesktopShortcut} "$(LNG_CreateShortcutDesc)"
    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_ProgramMenuShortcut} "$(LNG_CreateShortcutDesc)"
    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_StartMenuShortcut} "$(LNG_CreateShortcutDesc)"
    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_QuickLaunchShortcut} "$(LNG_CreateShortcutDesc)"

    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_AppNameShortcut} "$(LNG_CreateShortcutDesc)"
    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_HelpShortcut} "$(LNG_CreateShortcutDesc)"
    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_HomePageShortcut} "$(LNG_CreateShortcutDesc)"
    
!insertmacro MUI_DESCRIPTION_TEXT ${SEC_UninstallShortcut} "$(LNG_CreateShortcutDesc)"
!insertmacro MUI_FUNCTION_DESCRIPTION_END
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 初始化回調(diào)函數(shù)
Function .onInit
    StrCpy $
1 ${SEC_X86Ascii}

    ReadRegStr $
0 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" "CurrentVersion"
    ${If} $
0 != ""
        SectionSetInstTypes ${SEC_X86Ascii} 
0
        
!insertmacro UnselectSection ${SEC_X86Ascii}
        
!insertmacro ClearSectionFlag ${SEC_X86Unicode} ${SF_RO}

        ReadRegStr $
0 HKLM "SYSTEM\CurrentControlSet\Control\Session Manager\Environment" "PROCESSOR_ARCHITECTURE"
        ${If} $
0 != "AMD64"
            SectionSetInstTypes ${SEC_X86Unicode} 
7
            
!insertmacro SelectSection ${SEC_X86Unicode}
            StrCpy $
1 ${SEC_X86Unicode}
        ${Else}
            SectionSetInstTypes ${SEC_X64Unicode} 
7
            
!insertmacro ClearSectionFlag ${SEC_X64Unicode} ${SF_RO}
            
!insertmacro SelectSection ${SEC_X64Unicode}
            StrCpy $
1 ${SEC_X64Unicode}
        ${EndIf}        
    ${EndIf}
    
    
!insertmacro MUI_LANGDLL_DISPLAY
FunctionEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 選擇改變
Function .onSelChange
    
!insertmacro StartRadioButtons $1
        
!insertmacro RadioButton ${SEC_X86Ascii}
        
!insertmacro RadioButton ${SEC_X86Unicode}
        
!insertmacro RadioButton ${SEC_X64Unicode}
    
!insertmacro EndRadioButtons
FunctionEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; 卸載初始化
Function un.onInit
    
!insertmacro MUI_UNGETLANGUAGE
FunctionEnd
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

posted on 2010-02-06 00:00 小默 閱讀(7862) 評(píng)論(1)  編輯 收藏 引用 所屬分類: Language

評(píng)論

# re: 完美的 NSIS 安裝腳本zz 2014-05-13 19:32 anopos

路過留名。  回復(fù)  更多評(píng)論   

導(dǎo)航

統(tǒng)計(jì)

留言簿(13)

隨筆分類(287)

隨筆檔案(289)

漏洞

搜索

積分與排名

最新評(píng)論

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国内自拍| 夜色激情一区二区| 欧美成人精品1314www| 久久久久久久久久久久久久一区| 亚洲视频免费| 欧美亚洲网站| 久久婷婷麻豆| 欧美日韩久久不卡| 国产精品第一页第二页第三页| 国产精品免费网站| 国内偷自视频区视频综合| 国内免费精品永久在线视频| 亚洲国产精品悠悠久久琪琪| 一区二区av| 久久激情久久| 欧美激情国产高清| 亚洲视频第一页| 久久人人九九| 一区二区三区欧美日韩| 午夜精品99久久免费| 久久精品免费电影| 欧美精品少妇一区二区三区| 国产视频欧美| 一区二区三区 在线观看视| 久久av红桃一区二区小说| 亚洲国产精品久久久久秋霞影院| 亚洲一区欧美一区| 免费视频亚洲| 国产一区自拍视频| 亚洲一区二区三区成人在线视频精品| 久久香蕉国产线看观看网| 99国产精品99久久久久久| 久久久久久69| 国产精品一二| 艳女tv在线观看国产一区| 麻豆av一区二区三区| 亚洲自拍都市欧美小说| 欧美精品福利| 亚洲第一搞黄网站| 久久九九全国免费精品观看| 日韩视频一区二区三区在线播放| 久久久免费av| 国产日韩在线不卡| 亚洲欧美日韩精品久久亚洲区| 亚洲国产精品视频| 久久久美女艺术照精彩视频福利播放| 国产精品日韩欧美综合| 亚洲特级片在线| 亚洲欧洲日产国产网站| 欧美不卡三区| 91久久久亚洲精品| 欧美大片免费久久精品三p| 欧美中文在线视频| 国产在线精品自拍| 久久精品在线免费观看| 亚洲一区二区少妇| 国产精品视频yy9299一区| 亚洲影院在线| 一区二区精品在线观看| 国产精品v片在线观看不卡| 一区二区成人精品| 日韩视频在线播放| 国产精品毛片va一区二区三区| 亚洲午夜精品久久久久久app| 99一区二区| 国产精品日韩专区| 久久国内精品视频| 久久青草福利网站| 亚洲经典在线| 亚洲精品一区二区三区在线观看| 欧美日韩精品一区二区天天拍小说 | 欧美日韩亚洲三区| 激情小说另类小说亚洲欧美| 久久久久欧美| 久久天天狠狠| 亚洲精品护士| 在线一区视频| 国产视频一区欧美| 欧美国产专区| 欧美天堂在线观看| 欧美在线免费一级片| 欧美在线观看视频在线 | 欧美精品在线一区二区| 亚洲午夜精品视频| 欧美一区1区三区3区公司| 亚洲第一精品福利| 夜夜嗨av一区二区三区四季av | 欧美精品日韩一本| 午夜精品久久久久99热蜜桃导演| 欧美在线精品免播放器视频| 亚洲国产欧美日韩精品| 99国产精品99久久久久久粉嫩| 国产午夜精品全部视频在线播放| 欧美国产视频日韩| 国产精品区一区二区三| 免费成年人欧美视频| 欧美伦理影院| 久久久久久久久久久久久女国产乱| 免费观看一区| 欧美有码视频| 欧美—级高清免费播放| 久久爱91午夜羞羞| 欧美另类久久久品| 欧美大片va欧美在线播放| 国产精品一区一区三区| 亚洲欧洲视频在线| 在线观看三级视频欧美| 亚洲视频在线播放| 99精品国产在热久久下载| 欧美专区在线| 亚洲欧美日韩综合国产aⅴ| 久色婷婷小香蕉久久| 久久av一区| 国产精品美女一区二区在线观看| 亚洲国产精品黑人久久久 | 亚洲欧美一区二区三区久久| 久久香蕉国产线看观看网| 亚洲欧美激情视频在线观看一区二区三区| 久久免费视频网| 欧美在线免费观看亚洲| 国产精品v欧美精品v日本精品动漫| 欧美激情中文字幕一区二区| 国产一区亚洲一区| 亚洲欧美日本精品| 亚洲女同在线| 欧美日韩三级一区二区| 亚洲二区在线| 亚洲国产美女久久久久| 久久久久久色| 六月婷婷一区| 久久国产精品一区二区三区四区| 欧美在线视频一区二区三区| 欧美日韩国产综合久久| 91久久夜色精品国产九色| 在线观看日韩www视频免费| 欧美综合77777色婷婷| 久久精品国产久精国产思思| 国产精品美女久久福利网站| 亚洲特黄一级片| 性欧美videos另类喷潮| 欧美性感一类影片在线播放 | 日韩图片一区| 欧美激情一二三区| 欧美激情a∨在线视频播放| 91久久久久久| 欧美日本在线视频| 一本色道久久综合亚洲精品按摩 | 蜜桃av一区| 亚洲国产另类久久精品| 亚洲国产天堂久久综合| 久久综合国产精品| 亚洲电影激情视频网站| 在线视频你懂得一区| 国产精品国产a| 午夜精品短视频| 久久免费精品视频| 亚洲精品乱码久久久久久日本蜜臀 | 国产婷婷色综合av蜜臀av | 亚洲天堂偷拍| 欧美综合二区| 亚洲国产精品一区二区第一页 | 欧美 日韩 国产在线| 91久久精品日日躁夜夜躁欧美| 免费在线亚洲| 中日韩男男gay无套| 久久久久久久久久久久久9999| 91久久精品www人人做人人爽 | 亚洲伦理网站| 性色av一区二区三区红粉影视| 国产精品视频精品| 久久超碰97人人做人人爱| 欧美成人精品一区二区| 在线亚洲成人| 黑人中文字幕一区二区三区| 欧美aa国产视频| 亚洲尤物在线| 亚洲第一伊人| 久久国产精品久久w女人spa| 亚洲国产日韩欧美一区二区三区| 久久久久久久网站| 一区二区三区国产盗摄| 国产一区二区福利| 欧美激情按摩在线| 亚洲欧美不卡| 亚洲看片网站| 蜜臀久久久99精品久久久久久| 亚洲线精品一区二区三区八戒| 一区在线视频观看| 国产精品美女久久久| 欧美电影在线观看完整版| 午夜免费电影一区在线观看| 亚洲激情视频在线观看| 蜜臀久久99精品久久久画质超高清| 亚洲性色视频| 一本色道久久88综合亚洲精品ⅰ | 国产亚洲综合精品| 欧美精品999| 久久久亚洲欧洲日产国码αv| 亚洲午夜激情网页| 亚洲黄色一区二区三区|