|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: NSIS - все вопросы :. часть 2. |
|
.: NSIS - все вопросы :. часть 2.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором Nullsoft Scriptable Install System, или просто NSIS. Сайт приложения. Описание: Текущая версия: NSIS 3.05 от 15 декабря 2019 года Скачать | Архив сборок версии Первая часть этой темы Скачать первую часть этой темы одним архивом ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов: Справочник по NSIS - создан силами нашего сообщества. Руководство пользователя. Перевод – Поляков А.В, зеркало Документация Утилиты разработчика Расширение функциональности Примеры скриптов на нашем форуме Скрипт NSIS для перепаковки AIMP2+Сборки Тема для Notepad++(пример парсинга XML) Достоинства Ещё немного полезной информации: |
|
------- Отправлено: 12:02, 09-12-2012 |
Пользователь Сообщения: 94
|
Профиль | Отправить PM | Цитировать Цитата Kopejkin:
CreateDirectory "$SMPROGRAMS\МОЯ ПРОГРАММА" CreateShortCut "$SMPROGRAMS\МОЯ ПРОГРАММА\УДАЛИТЬ_ТЕСТ.lnk" "$INSTDIR\Uninstall.exe" И в секцию "Uninstall" их удаление Delete "$SMPROGRAMS\МОЯ ПРОГРАММА\УДАЛИТЬ_ТЕСТ.lnk" RMDir "$SMPROGRAMS\МОЯ ПРОГРАММА" Потом сделал копию файла WelcomeFinish.nsi, переименовал его в WelcomeFinish_rus.nsi (имитация русификатора) и соответственно изменил в нём название файла деинсталляции (Uninstall_rus.exe) и имя ярлыка (УДАЛИТЬ_RUS.lnk). На этом все. |
|
Отправлено: 01:05, 23-03-2014 | #1091 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 110
|
Профиль | Сайт | Отправить 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 |
Пользователь Сообщения: 94
|
Профиль | Отправить PM | Цитировать Kopejkin, вы в своем сценарии не учли особенности систем 64-бит. Помимо раздельных каталогов для установки 32-бит и 64-бит приложений ("Program Files (x86)" и "Program Files" соответственно), 64-бит версии Windows поддерживают два разных представления реестра - 32-бит и 64-бит (для 32-бит приложений работает WOW64). Короче, в своем сценарии, установку деинсталлятора вы осуществляете в каталог для 64-бит приложений, а запись о деинсталляции выполняете в 32-бит ветку реестра. В итоге ярлык деинсталляции получается битый и Windows разумно полагает, что ему не место на экране Приложений, и не показывает его. По умолчанию NSIS создает инсталлятор для установки 32-бит приложений. Если требуется установка приложения с учетом 64-бит архитектуры, то в сценарии нужно предусмотреть эти моменты и дать соответствующие команды. В данном случае, при записи в реестр, нужно установить доступ к 64-бит ветке реестра. Делается это командой SetRegView (почитайте про неё в справке NSIS).
Поэтому, перед командами записи данных в реестр, укажите команду SetRegView 64. Аналогично и для секции деинсталляции, чтобы корректно удалить записанные ключи. Еще подумайте, что произойдет, если пользователь запустит ваш инсталлятор на 32-бит системе. Полагаю, что необходимо выполнять проверку битности и соответственно ей выполнять те или иные команды установки. |
Отправлено: 01:00, 24-03-2014 | #1093 |
Пользователь Сообщения: 110
|
Профиль | Сайт | Отправить PM | Цитировать Flix, спасибо за ответ, но так... тоже не работает.
Если устанавливать в C:\Program Files (x86), все происходит точно также: ярлык деинсталлятора отображается в Приложениях только после "скрытия" блока Установки/Удаления. Цитата Flix: Еще подумайте..» Как раз с этим проблем не было. K.A.V. подсказочку подарил, правда по другому поводу... |
Последний раз редактировалось Kopejkin, 24-03-2014 в 02:32. Отправлено: 02:18, 24-03-2014 | #1094 |
Новый участник Сообщения: 32
|
Профиль | Отправить PM | Цитировать как в NSIS создать проект *.exe имея архив 7z, иконку, бантик, файл txt с настройками для sfx. Обычно делал до этого кнопкой (button), небольшие репаки прог и портабле.
Может есть какой то инструмент чтобы с нуля скрипт не писать (я этого делать не умею), а потом только вписать правельные название файлов, версия... |
Отправлено: 11:20, 24-03-2014 | #1095 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата erd-zelen:
простенькое IDE встроен в nisedit2.0.3 проект давно не развивался, но простых задач сойдет. |
|
------- Отправлено: 11:29, 24-03-2014 | #1096 |
Новый участник Сообщения: 32
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
|
|
Отправлено: 11:35, 24-03-2014 | #1097 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата erd-zelen:
|
|
------- Отправлено: 11:50, 24-03-2014 | #1098 |
Новый участник Сообщения: 32
|
Профиль | Отправить PM | Цитировать сделал, не помогло. ось хр стоит. не пойму как язык туда прикрутить чтобы не ругался.
|
Отправлено: 11:54, 24-03-2014 | #1099 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата erd-zelen:
|
|
------- Отправлено: 12:01, 24-03-2014 | #1100 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 2 | dimadr | Наборы обновлений для Windows XP/2003/Windows 7 | 267 | 14-02-2020 08:25 | |
[архив].: NSIS - все вопросы :. | kotkovets | Автоматическая установка приложений | 3387 | 09-12-2012 11:56 | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 1 | jameszero | Наборы обновлений для Windows XP/2003/Windows 7 | 1491 | 22-07-2011 22:42 | |
Выбор|модернизация процессора .:[все вопросы]:. Часть I | Myxa | Выбор отдельных компонентов компьютера и конфигурации в целом | 1845 | 01-01-2011 19:18 | |
Вопросы по создателю инсталляций NSIS | MaxDELETE | Программное обеспечение Windows | 14 | 04-07-2007 10:01 |
|