Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Пользователь


Сообщения: 112
Благодарности: 5

Профиль | Сайт | Отправить PM | Цитировать


Добиться отображения ярлыков и в Приложениях и в Установке/Удалении на Win8 мне не удается.
Отключаю блок Установка/Удаление - ярлык "Удалить русификатор..." отображается в Приложениях.
Включаю - ярлык "Удалить русификатор..." в папке с ярлыками программы присутствует, а Приложениях - не отображается.
Может я что-то упускаю, подскажите, пожалуйста.

Тренируюсь на этом сценарии:

Код: Выделить весь код
########## ПРИМЕР ##############

!define PRODUCT_NAME "FolderSizes 7"
!define PRODUCT_VERSION ".0.56"
!define BRANDING "PUPKIN"

!include "MUI.nsh"

SetCompressor /SOLID lzma

!define MUI_ABORTWARNING
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"

!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_UNPAGE_CONFIRM
!insertmacro MUI_UNPAGE_INSTFILES
!insertmacro MUI_UNPAGE_FINISH

!insertmacro MUI_LANGUAGE "Russian"

Name "${PRODUCT_NAME}"
Caption "Установка русификатора ${PRODUCT_NAME}${PRODUCT_VERSION}"
UninstallCaption "Удаление русификатора ${PRODUCT_NAME}${PRODUCT_VERSION}"
OutFile "rus.${PRODUCT_NAME}${PRODUCT_VERSION}.exe"
InstallDir "$PROGRAMFILES64\Key Metric Software\${PRODUCT_NAME}"
RequestExecutionLevel admin
ShowInstDetails show
ShowUninstDetails show
BrandingText "${BRANDING}"

Section "-MainSection"
  SetOutPath "$INSTDIR"
  File /r "D:\Example1\1.txt"
  WriteUninstaller "$INSTDIR\unrus.exe"
/*
  ; блок Установка/Удаление программм
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}rus" "DisplayName" "${PRODUCT_NAME}${PRODUCT_VERSION}. Удалить русификатор"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}rus" "UninstallString" "$INSTDIR\unrus.exe"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}rus" "DisplayVersion" "1.0"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}rus" "Publisher" "© Pupkin, 03/2014"
  WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}rus" "DisplayIcon" "$INSTDIR\unrus.exe"
  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}rus" "NoModify" 0x00000001
  WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}rus" "NoRepair" 0x00000001
*/
  SetShellVarContext all
  ; Ярлыки в меню Пуск - Программы
  CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}"
  ; в Win8 этот ярлык виден в ПРИЛОЖЕНИЯХ в ЛЮБОМ случае
  CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Открыть 1.txt.lnk" "$INSTDIR\1.txt" 
  ; в Win8 этот ярлык виден в ПРИЛОЖЕНИЯХ только при "ОТКЛЮЧЕНИИ" блока "Установка/Удаление"
  CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Удалить русификатор ${PRODUCT_NAME}.lnk" "$INSTDIR\unrus.exe"

  SetAutoClose false
SectionEnd

Section Uninstall
  Delete "$INSTDIR\1.txt"
  SetShellVarContext all
  Delete "$SMPROGRAMS\${PRODUCT_NAME}\Открыть 1.txt.lnk"
  Delete "$SMPROGRAMS\${PRODUCT_NAME}\Удалить русификатор ${PRODUCT_NAME}.lnk"
  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}rus"
  delete "$INSTDIR\unrus.exe"
  SetAutoClose false
SectionEnd

Отправлено: 14:35, 23-03-2014 | #1092