|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: NSIS - все вопросы :. часть 2. |
|
|
.: NSIS - все вопросы :. часть 2.
|
|
Ветеран Сообщения: 1216 |
![]() Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором 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 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить 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 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить 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 | |
|