|
Компьютерный форум 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 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать Цитата profcom:
Цитата MKN:
|
||
Отправлено: 20:42, 11-02-2013 | #221 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать блин папка не удаляется и файлы не ассоциируется
может мне весь код выложить? вот весь код. вот что я делаю не так? ассоциации нет и папка не удаляется. при том все из папки удаляется а она сама нет !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" ; MUI 1.67 compatible ------ !include "MUI.nsh" !include "x64.nsh" Function .onInit ${If} ${RunningX64} SetRegView 32 ${EndIf} FunctionEnd Section -Associations WriteRegStr HKLM "SOFTWARE\Classes\.lay" "" "Layout.File.6_0" 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$\"" SectionEnd ; 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_CHECKBOX !insertmacro MUI_PAGE_LICENSE "C:\Инсталятор sprint layout\SprintLayout\license.txt" ; Directory page !insertmacro MUI_PAGE_DIRECTORY ; 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 "Sprint Layout 6.0 setup.exe" InstallDir "$PROGRAMFILES\Sprint Layout" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show ShowUnInstDetails show Section "MainSection" SEC01 SetOutPath "$INSTDIR" SetOverwrite ifnewer File "C:\Инсталятор sprint layout\SprintLayout\Layout60.exe" CreateDirectory "$SMPROGRAMS\Sprint Layout 6" CreateShortCut "$SMPROGRAMS\Sprint Layout 6\Sprint Layout.lnk" "$INSTDIR\Layout60.exe" CreateShortCut "$DESKTOP\Sprint Layout.lnk" "$INSTDIR\Layout60.exe" File "C:\Инсталятор sprint layout\SprintLayout\LAYOUT60.INI" File "C:\Инсталятор sprint layout\SprintLayout\Sprint-Layout60.chm" CreateShortCut "$SMPROGRAMS\Sprint Layout 6\Help.lnk" "$INSTDIR\Sprint-Layout60.chm" File "C:\Инсталятор sprint layout\SprintLayout\titel.bmp" File /r "C:\Инсталятор sprint layout\SprintLayout\Makros" SectionEnd Section -AdditionalIcons WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" CreateShortCut "$SMPROGRAMS\Sprint Layout 6\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" CreateShortCut "$SMPROGRAMS\Sprint Layout 6\Uninstall.lnk" "$INSTDIR\uninst.exe" 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 |
Отправлено: 01:16, 12-02-2013 | #222 |
Пользователь Сообщения: 139
|
Профиль | Отправить PM | Цитировать andryz80, если уж собирались выкладывать весь код, то и выкладывайте весь, а не кусок.
|
Отправлено: 08:54, 12-02-2013 | #223 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать andryz80,
Вот сейчас установил прогу на комп с XP. Запустил отдельно файлик ассоциирования с .lay. Всё ОК. Могу лишь предложить, добавить ещё пользовательские ключи (у меня на этом компе нет пользователей) : для XP WriteRegStr HKCU "Software\Classes\Applications\layout 6.0.exe" "" "" WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lay\OpenWithProgids" "" "" WriteRegStr HKCU "Software\Classes\Applications\layout 6.0.exe\shell\open\command" "" "$\"$INSTDIR\layout 6.0.exe$\" $\"%1$\"" для W7 + WriteRegStr HKCU "Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.lay\UserChoice" "ProgId" "Layout.File.6" Для работы под пользователем это важно и про это уже говорилось. Для удаления своей неубиваемой папки, попробуй добавить ключ перезагрузки - ( будет так : RMDir /r /REBOOTOK "$SMPROGRAMS\Sprint Layout 6" ) После анинсталла перезагрузись и проверь удаление папки. Если и это не поможет, то придётся позвать батюшку и освятить твой скрипт... |
Последний раз редактировалось MKN, 12-02-2013 в 10:39. Отправлено: 09:27, 12-02-2013 | #224 |
Новый участник Сообщения: 18
|
Профиль | Отправить PM | Цитировать Прощу прощения я не заметил, что код не весь вот вроде весь
под XP на виртуалке я пробовал и все работает как надо а вот под семеркой все проблемы вылезают. !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" ; MUI 1.67 compatible ------ !include "MUI.nsh" !include "x64.nsh" Function .onInit ${If} ${RunningX64} SetRegView 32 ${EndIf} FunctionEnd Section -Associations WriteRegStr HKLM "SOFTWARE\Classes\.lay" "" "Layout.File.6_0" 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$\"" SectionEnd ; 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_CHECKBOX !insertmacro MUI_PAGE_LICENSE "C:\Инсталятор sprint layout\SprintLayout\license.txt" ; Directory page !insertmacro MUI_PAGE_DIRECTORY ; 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 "Sprint Layout 6.0 setup.exe" InstallDir "$PROGRAMFILES\Sprint Layout" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ShowInstDetails show ShowUnInstDetails show Section "MainSection" SEC01 SetOutPath "$INSTDIR" SetOverwrite ifnewer File "C:\Инсталятор sprint layout\SprintLayout\Layout60.exe" CreateDirectory "$SMPROGRAMS\Sprint Layout 6" CreateShortCut "$SMPROGRAMS\Sprint Layout 6\Sprint Layout.lnk" "$INSTDIR\Layout60.exe" CreateShortCut "$DESKTOP\Sprint Layout.lnk" "$INSTDIR\Layout60.exe" File "C:\Инсталятор sprint layout\SprintLayout\LAYOUT60.INI" File "C:\Инсталятор sprint layout\SprintLayout\Sprint-Layout60.chm" CreateShortCut "$SMPROGRAMS\Sprint Layout 6\Help.lnk" "$INSTDIR\Sprint-Layout60.chm" File "C:\Инсталятор sprint layout\SprintLayout\titel.bmp" File /r "C:\Инсталятор sprint layout\SprintLayout\Makros" File "C:\Инсталятор sprint layout\SprintLayout\lay.ico" SectionEnd Section -AdditionalIcons WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" CreateShortCut "$SMPROGRAMS\Sprint Layout 6\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" CreateShortCut "$SMPROGRAMS\Sprint Layout 6\Uninstall.lnk" "$INSTDIR\uninst.exe" 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 RMDir /r "$SMPROGRAMS\Sprint Layout 6" RMDir /r "$INSTDIR" Delete "$DESKTOP\Sprint Layout.lnk" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" SetAutoClose true SectionEnd |
Отправлено: 12:14, 12-02-2013 | #225 |
Пользователь Сообщения: 139
|
Профиль | Отправить PM | Цитировать |
Отправлено: 17:12, 12-02-2013 | #226 |
Ветеран Сообщения: 2358
|
Профиль | Отправить PM | Цитировать Скрываваем в окне: опции-значки Minimize\Maximize (Свернуть\ Свернуть в окно. Это, которые в верхнем правом углу окна.)
!include MUI.nsh OutFile "Remove MinimizeMaximize.exe" Function myGUIInit System::Call 'user32::GetWindowLong(i $hwndparent,i -16)i.r0' intop $1 0x30000 ~ intop $0 $0 & $1 System::Call 'user32::SetWindowLong(i $hwndparent,i -16,i $0)i' FunctionEnd !define MUI_CUSTOMFUNCTION_GUIINIT myGUIInit !insertmacro MUI_PAGE_WELCOME !insertmacro MUI_PAGE_INSTFILES !insertmacro MUI_LANGUAGE "English" Section SectionEnd |
Последний раз редактировалось MKN, 12-02-2013 в 18:39. Отправлено: 18:09, 12-02-2013 | #227 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать подскажите а как правильно установить шрифт, я так понимаю прото установить в папку fonts недостаточно?
|
Отправлено: 21:46, 12-02-2013 | #228 |
Пользователь Сообщения: 139
|
Профиль | Отправить PM | Цитировать Цитата Lex_from_Belarus:
|
|
Отправлено: 23:00, 12-02-2013 | #229 |
Новый участник Сообщения: 49
|
Профиль | Отправить PM | Цитировать Цитата profcom:
там вроде только ttf и fon |
|
Отправлено: 23:54, 12-02-2013 | #230 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 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 |
|