Пустая коробка отображается в моем инсталляторе? Как мне это убрать? - PullRequest
1 голос
/ 03 июня 2009

Я использую довольно простой скрипт установки для своего приложения, и на экране выбора раздела отображается пустое поле. Я хотел бы удалить его или хотя бы узнать, для чего он нужен, и заполнить его.

вот скриншот alt text

и мой скрипт установки

; example2.nsi
;
; This script is based on example1.nsi, but it remember the directory, 
; has uninstall support and (optionally) installs start menu shortcuts.
;
; It will install ICV-MRI into a directory that the user selects,

;--------------------------------
!include "MUI.nsh"

; The name of the installer
Name "ICV-MRI"

; The file to write
OutFile "ICV-MRI_Setup.exe"

; The default installation directory
InstallDir $PROGRAMFILES\ICV-MRI

; Registry key to check for directory (so if you install again, it will 
; overwrite the old one automatically)
InstallDirRegKey HKLM "Software\ICV-MRI" "Install_Dir"

; Request application privileges for Windows Vista
RequestExecutionLevel admin

Function LaunchLink
  ExecShell "" "$INSTDIR\mri.exe"
FunctionEnd

;--------------------------------

; Pages

Page components
Page directory
Page instfiles

UninstPage uninstConfirm
UninstPage instfiles

;  !insertmacro MUI_PAGE_WELCOME
;  !insertmacro MUI_PAGE_DIRECTORY
;  !insertmacro MUI_PAGE_INSTFILES

    # These indented statements modify settings for MUI_PAGE_FINISH
    !define MUI_FINISHPAGE_NOAUTOCLOSE
    !define MUI_FINISHPAGE_RUN
    !define MUI_FINISHPAGE_RUN_NOTCHECKED
    !define MUI_FINISHPAGE_RUN_TEXT "Run MRI when the installer closes"
    !define MUI_FINISHPAGE_RUN_FUNCTION "LaunchLink"
    !define MUI_FINISHPAGE_SHOWREADME_NOTCHECKED
  !insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE "English"


;--------------------------------

; The stuff to install
Section "ICV-MRI (required)"

  SectionIn RO

  ; Set output path to the installation directory.
  SetOutPath $INSTDIR

  ; Put file there
  File "dist\bz2.pyd"
  File "dist\library.zip"
  File "dist\mri.exe"
  File "dist\PyQt4.QtCore.pyd"
  File "dist\PyQt4.QtGui.pyd"
  File "dist\python26.dll"
  File "dist\QtCore4.dll"
  File "dist\QtGui4.dll"
  File "dist\select.pyd"
  File "dist\sip.pyd"
  File "dist\unicodedata.pyd"
  File "dist\w9xpopen.exe"

  ; Write the installation path into the registry
  WriteRegStr HKLM SOFTWARE\ICV-MRI "Install_Dir" "$INSTDIR"

  ; Write the uninstall keys for Windows
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ICV-MRI" "DisplayName" "ICV-MRI"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ICV-MRI" "UninstallString" '"$INSTDIR\uninstall.exe"'
  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ICV-MRI" "NoModify" 1
  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\ICV-MRI" "NoRepair" 1
  WriteUninstaller "uninstall.exe"

SectionEnd

; Optional section (can be disabled by the user)
Section "Start Menu Shortcuts"

  CreateDirectory "$SMPROGRAMS\ICV-MRI"
  CreateShortCut "$SMPROGRAMS\ICV-MRI\Uninstall.lnk" "$INSTDIR\uninstall.exe" "" "$INSTDIR\uninstall.exe" 0
  CreateShortCut "$SMPROGRAMS\ICV-MRI\ICV-MRI.lnk" "$INSTDIR\mri.exe" "" "$INSTDIR\mri.exe" 0

SectionEnd

Section "Desktop Shortcuts"

  CreateShortCut "$DESKTOP\ICV-MRI.lnk" "$INSTDIR\mri.exe" "" "$INSTDIR\mri.exe" 0

SectionEnd

;--------------------------------

Ответы [ 2 ]

4 голосов
/ 03 июня 2009

Если вы хотите удалить его, !define MUI_COMPONENTSPAGE_NODESC вверху вашего скрипта

1 голос
/ 03 июня 2009

Это поле для описания раздела.

Взгляните на файл Modern UI Basic.nsi:


;--------------------------------
;Installer Sections

Section "Dummy Section" SecDummy

  SetOutPath "$INSTDIR"

  ;ADD YOUR OWN FILES HERE...

  ;Store installation folder
  WriteRegStr HKCU "Software\Modern UI Test" "" $INSTDIR

  ;Create uninstaller
  WriteUninstaller "$INSTDIR\Uninstall.exe"

SectionEnd

;--------------------------------
;Descriptions

  ;Language strings
  <b>LangString DESC_SecDummy ${LANG_ENGLISH} "A test section."</b>

  ;Assign language strings to sections
  <b>!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
    !insertmacro MUI_DESCRIPTION_TEXT ${SecDummy} $(DESC_SecDummy)
  !insertmacro MUI_FUNCTION_DESCRIPTION_END</b>

Подробнее Современный пользовательский интерфейс Readme , раздел описания компонентов.

Страница компонентов Modern UI имеет текстовое поле, в котором описание может отображаться, когда пользователь наводит указатель мыши на компонент. Если вы не хотите использовать эти описания, вставьте параметр интерфейса MUI_COMPONENTSPAGE_NODESC.

Чтобы задать описание для раздела, необходимо добавить дополнительный параметр в команду Section с уникальным идентификатором для раздела. Это имя впоследствии можно использовать для задания описания этого раздела.

...