|
Компьютерный форум 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 |
Пользователь Сообщения: 139
|
Профиль | Отправить PM | Цитировать Цитата Lex_from_Belarus:
|
|
Отправлено: 00:20, 13-02-2013 | #231 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать переписал заново и не помогло
под ХР работает все как надо а вот на семерке не удаляется папка и еще почему то ярлык на рабочем столе а так же тот файл который ассоциирован не отображают иконку. просто как неизвестный файл и все но ассоциации работают неуже ли меню пуск как то отличается на семерке от ХР? ;Sprint Layot 6.0 !define PRODUCT_NAME "Sprint Layout" !define PRODUCT_VERSION "6.0" !define PRODUCT_PUBLISHER "Abacom" !define PRODUCT_WEB_SITE "http://www.abacom-online.de" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\Layout60.exe" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" !define PRODUCT_STARTMENU_REGVAL "NSIS:StartMenuDir" ; MUI 1.67 compatible ------ !include "MUI.nsh" !include "x64.nsh" ; MUI Settings !define MUI_ABORTWARNING !define MUI_ICON "C:\Èíñòàëÿòîð sprint layout\SprintLayout\icons.ico" !define MUI_UNICON "C:\Èíñòàëÿòîð sprint layout\SprintLayout\Delete_win7.ico" ; Welcome page !insertmacro MUI_PAGE_WELCOME ; License page !define MUI_LICENSEPAGE_RADIOBUTTONS !insertmacro MUI_PAGE_LICENSE "C:\Èíñòàëÿòîð sprint layout\SprintLayout\License.txt" ; Directory page !insertmacro MUI_PAGE_DIRECTORY ; Start menu page var ICONS_GROUP !define MUI_STARTMENUPAGE_NODISABLE !define MUI_STARTMENUPAGE_DEFAULTFOLDER "Sprint Layout" !define MUI_STARTMENUPAGE_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" !define MUI_STARTMENUPAGE_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" !define MUI_STARTMENUPAGE_REGISTRY_VALUENAME "${PRODUCT_STARTMENU_REGVAL}" !insertmacro MUI_PAGE_STARTMENU Application $ICONS_GROUP ; Instfiles page !insertmacro MUI_PAGE_INSTFILES ; Finish page !define MUI_FINISHPAGE_RUN "$INSTDIR\Layout60.exe" !insertmacro MUI_PAGE_FINISH ; Uninstaller pages !insertmacro MUI_UNPAGE_INSTFILES ; Language files !insertmacro MUI_LANGUAGE "Russian" ; MUI end ------ Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" OutFile "setupSprintLayout.exe" InstallDir "$PROGRAMFILES\Sprint Layout" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show ShowUnInstDetails show ;RequestExecutionLevel admin Function .onInit ${If} ${RunningX64} SetRegView 32 ${EndIf} FunctionEnd Section SetShellVarContext all WriteRegStr HKLM "SOFTWARE\Classes\.lay" "" "Layout.File.6" WriteRegStr HKLM "SOFTWARE\Classes\Layout.File.6" "" "ðåäàêòîð ïå÷àòíûõ ïëàò" WriteRegStr HKLM "SOFTWARE\Classes\Layout.File.6\DefaultIcon" "" "$INSTDIR\lay.ico" WriteRegStr HKLM "SOFTWARE\Classes\Layout.File.6\shell" "" "open" WriteRegStr HKLM "SOFTWARE\Classes\Layout.File.6\shell\Open\command" "" "$\"$INSTDIR\Layout60.exe$\" $\"%1$\"" WriteRegStr HKCU "Software\Microsoft\Windows NT\CurrentVersion\EXTENSIONS" "lay" "$\"$\"$INSTDIR\Layout60.exe$\" ^.lay$\"" WriteRegStr HKEY_CURRENT_USER "Software\Classes\.lay" "" "Layout.File.6" WriteRegStr HKEY_CURRENT_USER "Software\Classes\Layout.File.6\shell\open\command" "" "$\"$INSTDIR\Layout60.exe$\" $\"%1$\"" SectionEnd Section "MainSection" SEC01 SetShellVarContext all SetOutPath "$INSTDIR" SetOverwrite on File "C:\Èíñòàëÿòîð sprint layout\SprintLayout\Layout60.exe" File "C:\Èíñòàëÿòîð sprint layout\SprintLayout\LAYOUT60.INI" File "C:\Èíñòàëÿòîð sprint layout\SprintLayout\Sprint-Layout60.chm" File "C:\Èíñòàëÿòîð sprint layout\SprintLayout\titel.bmp" File /r "C:\Èíñòàëÿòîð sprint layout\SprintLayout\Makros" ; Shortcuts !insertmacro MUI_STARTMENU_WRITE_BEGIN Application SetShellVarContext all CreateDirectory "$SMPROGRAMS\$ICONS_GROUP" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Sprint Layout.lnk" "$INSTDIR\Layout60.exe" CreateShortCut "$DESKTOP\Sprint Layout.lnk" "$INSTDIR\Layout60.exe" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Help.lnk" "$INSTDIR\Sprint-Layout60.chm" !insertmacro MUI_STARTMENU_WRITE_END SectionEnd Section -AdditionalIcons !insertmacro MUI_STARTMENU_WRITE_BEGIN Application WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" CreateShortCut "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" "$INSTDIR\uninst.exe" !insertmacro MUI_STARTMENU_WRITE_END SectionEnd Section -Post WriteUninstaller "$INSTDIR\uninst.exe" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\Layout60.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "$(^Name)" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\uninst.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\Layout60.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayVersion" "${PRODUCT_VERSION}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "URLInfoAbout" "${PRODUCT_WEB_SITE}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "Publisher" "${PRODUCT_PUBLISHER}" SectionEnd Function un.onUninstSuccess HideWindow MessageBox MB_ICONINFORMATION|MB_OK "Óäàëåíèå $(^Name) áûëî óñïåøíî çàâåðøåíî." FunctionEnd Function un.onInit MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 "Âû óâåðåíû â òîì, ÷òî æåëàåòå óäàëèòü $(^Name) è âñå êîìïîíåíòû ïðîãðàììû?" IDYES +2 Abort FunctionEnd Section Uninstall SetShellVarContext all !insertmacro MUI_STARTMENU_GETFOLDER "Application" $ICONS_GROUP Delete "$INSTDIR\${PRODUCT_NAME}.url" Delete "$INSTDIR\uninst.exe" RMDir /r "$INSTDIR\Makros" Delete "$INSTDIR\titel.bmp" Delete "$INSTDIR\Sprint-Layout60.chm" Delete "$INSTDIR\LAYOUT60.INI" Delete "$INSTDIR\Layout60.exe" Delete "$SMPROGRAMS\$ICONS_GROUP\Uninstall.lnk" Delete "$SMPROGRAMS\$ICONS_GROUP\Website.lnk" Delete "$SMPROGRAMS\$ICONS_GROUP\Help.lnk" Delete "$DESKTOP\Sprint Layout.lnk" Delete "$SMPROGRAMS\$ICONS_GROUP\Sprint Layout.lnk" RMDir "$SMPROGRAMS\$ICONS_GROUP" RMDir "$INSTDIR" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" SetAutoClose true SectionEnd |
Отправлено: 02:07, 13-02-2013 | #232 |
Пользователь Сообщения: 139
|
Профиль | Отправить PM | Цитировать andryz80, Скинь на какой нибудь файлообменник всю программу и скрипт, попробую помочь.
|
Отправлено: 08:34, 13-02-2013 | #233 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать Цитата profcom:
|
|
Отправлено: 09:34, 13-02-2013 | #234 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Цитата Lex_from_Belarus:
Можно с помощью команд, системных или спец утилит. (Как, уже было где то на форуме - поищи "Как получить доступ к файлу или папке" ) |
|
Отправлено: 09:40, 13-02-2013 | #235 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать Цитата MKN:
в секции делаю (хотя пробовал по разному): Section SectionIn 1 SetOutPath $INSTDIR File /r "${pkgdir}" WriteRegStr HKCU Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers "$INSTDIR\program.exe" "~WIN7RTM" ExecWait "$INSTDIR\program.exe /S" SectionEnd Я тут правильно пишу? |
|
Отправлено: 09:41, 13-02-2013 | #236 |
Пользователь Сообщения: 139
|
Профиль | Отправить PM | Цитировать Цитата Lex_from_Belarus:
или |
|
Отправлено: 09:46, 13-02-2013 | #237 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Считываем информацию со страницы PAGE_DIRECTORY о наличии свободного/необходимого объёма дискового пространства.
Скрываем отображение этой информацию на странице PAGE_DIRECTORY. !include MUI.nsh OutFile "GetWindowText-id.exe" InstallDir "$TEMP" Var RSPACE Var ASPACE !define MUI_PAGE_CUSTOMFUNCTION_SHOW ShowDirectoryPage !insertmacro MUI_PAGE_DIRECTORY Function ShowDirectoryPage ;Считать информацию о наличии свободного/необходимого объёма дискового пространства FindWindow $0 "#32770" "" $HWNDPARENT GetDlgItem $1 $0 1023 ; IDC_SPACEREQUIRED System::Call 'User32::GetWindowText(i $1, t .R0, i 256)' GetDlgItem $1 $0 1024 ; IDC_SPACEAVAILABLE System::Call 'User32::GetWindowText(i $1, t .R1, i 256)' StrCpy $RSPACE $R0 StrCpy $ASPACE $R1 ;Скрыть отображение информации о наличии свободного/необходимого объёма дискового пространства GetDlgItem $1 $0 1023 ; IDC_SPACEREQUIRED System::Call 'user32.dll::ShowWindow(i, i) v($1, 0)' GetDlgItem $1 $0 1024 ; IDC_SPACEAVAILABLE System::Call 'user32.dll::ShowWindow(i, i) v($1, 0)' FunctionEnd !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_LANGUAGE "English" Section MessageBox MB_OK "$ASPACE" MessageBox MB_OK "$RSPACE" SetOutPath "$TEMP" File "${NSISDIR}\makensisw.exe" Delete "$TEMP\makensisw.exe" SectionEnd |
Последний раз редактировалось MKN, 13-02-2013 в 10:55. Отправлено: 10:43, 13-02-2013 | #238 |
Новый участник Сообщения: 41
|
Профиль | Отправить PM | Цитировать Добрый день!
С помощью NSIS создается деинсталлятор ко всему прочему. Как сделать так, чтобы этот деинсталлятор пользователь запускал с правами администратора. могу ли я внутри скрипта NSIS это прописать? Может быть можно поставить на деинсталлятор атрибут запускать с правами администратора |
Последний раз редактировалось dix75, 13-02-2013 в 13:43. Отправлено: 13:34, 13-02-2013 | #239 |
Пользователь Сообщения: 139
|
Профиль | Отправить PM | Цитировать Цитата dix75:
|
|
Отправлено: 13:53, 13-02-2013 | #240 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 |
|