instdir.nsh
来自「奇趣公司比较新的qt/emd版本」· NSH 代码 · 共 249 行
NSH
249 行
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Copyright (C) 2007-2007 Trolltech ASA. All rights reserved.;;;; This file is part of the Windows installer of the Qt Toolkit.;;;; This file may be used under the terms of the GNU General Public;; License version 2.0 as published by the Free Software Foundation;; and appearing in the file LICENSE.GPL included in the packaging of;; this file. Please review the following information to ensure GNU;; General Public Licensing requirements will be met:;; http://trolltech.com/products/qt/licenses/licensing/opensource/;;;; If you are unsure which license is appropriate for your use, please;; review the following information:;; http://trolltech.com/products/qt/licenses/licensing/licensingoverview;; or contact the sales department at sales@trolltech.com.;;;; In addition, as a special exception, Trolltech gives you certain;; additional rights. These rights are described in the Trolltech GPL;; Exception version 1.0, which can be found at;; http://www.trolltech.com/products/qt/gplexception/ and in the file;; GPL_EXCEPTION.txt in this package.;;;; In addition, as a special exception, Trolltech, as the sole copyright;; holder for Qt Designer, grants users of the Qt/Eclipse Integration;; plug-in the right for the Qt/Eclipse Integration to link to;; functionality provided by Qt Designer and its related libraries.;;;; Trolltech reserves all rights not expressly granted herein.;;;; This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE;; WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;!ifndef INSTDIR_1 !macro INSTDIR_INITIALIZE !define MUI_DIRECTORYPAGE_VARIABLE $${INSTDIR_0}_INSTDIR !ifdef ${INSTDIR_0}_ValidateDirectory !define MUI_PAGE_CUSTOMFUNCTION_LEAVE "${INSTDIR_0}_ValidateDirectoryFunc" !endif !insertmacro MUI_PAGE_DIRECTORY !macroend !macro INSTDIR_FUNCTIONS !macroend !macro INSTDIR_STARTUP !macroend!else!macro INSTDIR_INITIALIZE !define INSTDIR_INI_FILE "instdir.ini" !define INSTDIR_0_DIRFIELD "Field 10" !define INSTDIR_0_TEXTFIELD "Field 13" !define INSTDIR_1_DIRFIELD "Field 7" !define INSTDIR_1_TEXTFIELD "Field 11" !define INSTDIR_2_DIRFIELD "Field 5" !define INSTDIR_2_TEXTFIELD "Field 8" !define INSTDIR_3_DIRFIELD "Field 3" !define INSTDIR_3_TEXTFIELD "Field 6" !define INSTDIR_4_DIRFIELD "Field 2" !define INSTDIR_4_TEXTFIELD "Field 4" !define INSTDIR_5_DIRFIELD "Field 9" !define INSTDIR_5_TEXTFIELD "Field 12" !define INSTDIR_DIRHEIGHT 18 Page custom InitInstDirs UpdateInstDirs LangString InstDirLicenseTitle ${LANG_ENGLISH} "Installation Directories" LangString InstDirLicenseTitleDescription ${LANG_ENGLISH} "Select the directories where you want the software installed."!macroend!macro INSTDIR_FUNCTIONS Function InitInstDirs push $0 push $1 push $2 push $3 !insertmacro MUI_HEADER_TEXT "$(InstDirLicenseTitle)" "$(InstDirLicenseTitleDescription)" strcpy $0 "129"!ifdef INSTDIR_0 SectionGetFlags ${${INSTDIR_0}_SEC01} $1!ifdef ${INSTDIR_0}_SEC02 SectionGetFlags ${${INSTDIR_0}_SEC02} $3 IntOp $1 $1 | $3!endif IntOp $2 $1 & 1 ;just care about the first flag StrCpy $1 "READONLY" StrCmp "$2" "1" +2 StrCpy $1 "DISABLED" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_0_TEXTFIELD}" "Flags" "$1" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_0_DIRFIELD}" "Flags" "$1" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_0_TEXTFIELD}" "Text" "${INSTDIR_0_TEXT}" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_0_DIRFIELD}" "State" $${INSTDIR_0}_INSTDIR!else !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_0_DIRFIELD}" "Type" "Unknown" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_0_TEXTFIELD}" "Type" "Unknown" intop $0 $0 - ${INSTDIR_DIRHEIGHT}!endif!ifdef INSTDIR_1 SectionGetFlags ${${INSTDIR_1}_SEC01} $1!ifdef ${INSTDIR_1}_SEC02 SectionGetFlags ${${INSTDIR_1}_SEC02} $3 IntOp $1 $1 | $3!endif IntOp $2 $1 & 1 ;just care about the first flag StrCpy $1 "READONLY" StrCmp "$2" "1" +2 StrCpy $1 "DISABLED" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_1_TEXTFIELD}" "Flags" "$1" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_1_DIRFIELD}" "Flags" "$1" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_1_TEXTFIELD}" "Text" "${INSTDIR_1_TEXT}" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_1_DIRFIELD}" "State" $${INSTDIR_1}_INSTDIR!else !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_1_DIRFIELD}" "Type" "Unknown" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_1_TEXTFIELD}" "Type" "Unknown" intop $0 $0 - ${INSTDIR_DIRHEIGHT}!endif!ifdef INSTDIR_2 SectionGetFlags ${${INSTDIR_2}_SEC01} $1!ifdef ${INSTDIR_2}_SEC02 SectionGetFlags ${${INSTDIR_2}_SEC02} $3 IntOp $1 $1 | $3!endif IntOp $2 $1 & 1 ;just care about the first flag StrCpy $1 "READONLY" StrCmp "$2" "1" +2 StrCpy $1 "DISABLED" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_2_TEXTFIELD}" "Flags" "$1" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_2_DIRFIELD}" "Flags" "$1" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_2_TEXTFIELD}" "Text" "${INSTDIR_2_TEXT}" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_2_DIRFIELD}" "State" $${INSTDIR_2}_INSTDIR!else !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_2_DIRFIELD}" "Type" "Unknown" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_2_TEXTFIELD}" "Type" "Unknown" intop $0 $0 - ${INSTDIR_DIRHEIGHT}!endif!ifdef INSTDIR_3 SectionGetFlags ${${INSTDIR_3}_SEC01} $1!ifdef ${INSTDIR_3}_SEC02 SectionGetFlags ${${INSTDIR_3}_SEC02} $3 IntOp $1 $1 | $3!endif IntOp $2 $1 & 1 ;just care about the first flag StrCpy $1 "READONLY" StrCmp "$2" "1" +2 StrCpy $1 "DISABLED" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_3_TEXTFIELD}" "Flags" "$1" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_3_DIRFIELD}" "Flags" "$1" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_3_TEXTFIELD}" "Text" "${INSTDIR_3_TEXT}" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_3_DIRFIELD}" "State" $${INSTDIR_3}_INSTDIR!else !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_3_DIRFIELD}" "Type" "Unknown" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_3_TEXTFIELD}" "Type" "Unknown" intop $0 $0 - ${INSTDIR_DIRHEIGHT}!endif!ifdef INSTDIR_4 SectionGetFlags ${${INSTDIR_4}_SEC01} $1!ifdef ${INSTDIR_4}_SEC02 SectionGetFlags ${${INSTDIR_4}_SEC02} $3 IntOp $1 $1 | $3!endif IntOp $2 $1 & 1 ;just care about the first flag StrCpy $1 "READONLY" StrCmp "$2" "1" +2 StrCpy $1 "DISABLED" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_4_TEXTFIELD}" "Flags" "$1" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_4_DIRFIELD}" "Flags" "$1" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_4_TEXTFIELD}" "Text" "${INSTDIR_4_TEXT}" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_4_DIRFIELD}" "State" $${INSTDIR_4}_INSTDIR!else !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_4_DIRFIELD}" "Type" "Unknown" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_4_TEXTFIELD}" "Type" "Unknown" intop $0 $0 - ${INSTDIR_DIRHEIGHT}!endif!ifdef INSTDIR_5 SectionGetFlags ${${INSTDIR_5}_SEC01} $1!ifdef ${INSTDIR_5}_SEC02 SectionGetFlags ${${INSTDIR_5}_SEC02} $3 IntOp $1 $1 | $3!endif IntOp $2 $1 & 1 ;just care about the first flag StrCpy $1 "READONLY" StrCmp "$2" "1" +2 StrCpy $1 "DISABLED" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_5_TEXTFIELD}" "Flags" "$1" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_5_DIRFIELD}" "Flags" "$1" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_5_TEXTFIELD}" "Text" "${INSTDIR_5_TEXT}" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_5_DIRFIELD}" "State" $${INSTDIR_5}_INSTDIR!else !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_5_DIRFIELD}" "Type" "Unknown" !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "${INSTDIR_5_TEXTFIELD}" "Type" "Unknown" intop $0 $0 - ${INSTDIR_DIRHEIGHT}!endif !insertmacro MUI_INSTALLOPTIONS_WRITE "${INSTDIR_INI_FILE}" "Field 1" "Bottom" "$0" !insertmacro MUI_INSTALLOPTIONS_DISPLAY "${INSTDIR_INI_FILE}" pop $3 pop $2 pop $1 pop $0 FunctionEnd Function UpdateInstDirs!ifdef INSTDIR_0 !insertmacro MUI_INSTALLOPTIONS_READ $${INSTDIR_0}_INSTDIR "${INSTDIR_INI_FILE}" "${INSTDIR_0_DIRFIELD}" "State" !ifdef ${INSTDIR_0}_ValidateDirectory call ${INSTDIR_0}_ValidateDirectoryFunc !endif!endif!ifdef INSTDIR_1 !insertmacro MUI_INSTALLOPTIONS_READ $${INSTDIR_1}_INSTDIR "${INSTDIR_INI_FILE}" "${INSTDIR_1_DIRFIELD}" "State" !ifdef ${INSTDIR_1}_ValidateDirectory call ${INSTDIR_1}_ValidateDirectoryFunc !endif!endif!ifdef INSTDIR_2 !insertmacro MUI_INSTALLOPTIONS_READ $${INSTDIR_2}_INSTDIR "${INSTDIR_INI_FILE}" "${INSTDIR_2_DIRFIELD}" "State" !ifdef ${INSTDIR_2}_ValidateDirectory call ${INSTDIR_2}_ValidateDirectoryFunc !endif!endif!ifdef INSTDIR_3 !insertmacro MUI_INSTALLOPTIONS_READ $${INSTDIR_3}_INSTDIR "${INSTDIR_INI_FILE}" "${INSTDIR_3_DIRFIELD}" "State" !ifdef ${INSTDIR_3}_ValidateDirectory call ${INSTDIR_3}_ValidateDirectoryFunc !endif!endif!ifdef INSTDIR_4 !insertmacro MUI_INSTALLOPTIONS_READ $${INSTDIR_4}_INSTDIR "${INSTDIR_INI_FILE}" "${INSTDIR_4_DIRFIELD}" "State" !ifdef ${INSTDIR_4}_ValidateDirectory call ${INSTDIR_4}_ValidateDirectoryFunc !endif!endif!ifdef INSTDIR_5 !insertmacro MUI_INSTALLOPTIONS_READ $${INSTDIR_5}_INSTDIR "${INSTDIR_INI_FILE}" "${INSTDIR_5_DIRFIELD}" "State" !ifdef ${INSTDIR_5}_ValidateDirectory call ${INSTDIR_5}_ValidateDirectoryFunc !endif!endif FunctionEnd!macroend!macro INSTDIR_STARTUP !insertmacro MUI_INSTALLOPTIONS_EXTRACT "${INSTDIR_INI_FILE}"!macroend!endif ;ifndef INSTDIR_1
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?