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

Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Notepad++. Собственный инсталлер

Ответить
Настройки темы
Notepad++. Собственный инсталлер

Аватара для hb860

Идиот


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

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


Изменения
Автор: hb860
Дата: 04-03-2008
Изображения
Тип файла: png InstallerScreenshot.png
(11.9 Kb, 76 просмотров)
Предлагаю свой вариант установки Notepad++
Хочу оговориться, Notepad++ прекрасно работает и без установки. Это скорее для энтузиастов.
Порядок действий
1. Качаем исходную информацию(всё находится в разделе "Скачать" оффициального сайта)
1.1 Качаем программу, например, в формате ZIP-ахива, с оффициального сайта(ссылка выше)
1.2 Качаем файл локализации russian.xml
1.3 Берем логотипчик там же(в моём случае npp.logo5.png)
1.4 Берем плагины
1.5 Берем справку CHM
2. Распаковываем архив(в моём случае в папку d:\npp), кладем в неё russian.xml и переименовываем в nativeLang.xml, туда же кладем справку
3. Берем две иконки, одну для инсталлера, другую для деинсталятора. Предположим, что скрипт для установки лежит в c:\nsis
Создаем папку c:\nsis\icons, кладём туда иконки и называем modern-install.ico и modern-uninstall.ico
4. Логотипчик открываем в любой программе, которая умеет сохранять изображения в BMP, и сохраняем в файл npp_logo5.bmp;
создаем папку c:\nsis\bmp и кладем полученный файл туда.
5. Добавляем плагины в папку d:\npp\plugins
6. Компилим скрипт, получаем инсталлятор, который ставится с ключом /S тихо(не создавая ярлык на рабочем столе), или "громко" с выбором того, что ставить

Примечание.
1. Можно избавиться от манипуляций с картинками если убрать это:
Код: Выделить весь код
!define MUI_HEADERIMAGE  
!define MUI_HEADERIMAGE_BITMAP "BMP\npp_logo5.bmp"  
!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH  
!define MUI_HEADERIMAGE_RIGHT
2. Можно избавиться от манипуляций с иконками если заменить это:
Код: Выделить весь код
!define MUI_ICON "Icons\modern-install.ico"
!define MUI_UNICON "Icons\modern-uninstall.ico"
На это
Код: Выделить весь код
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico"
!define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico"
Также целесообразно обратить внимание на следующие определения в начале скрипта:
!define PRODUCT_NAME "Notepad++"
!define PRODUCT_VER "4.8.1"
!define out_file "npp.exe" - имя файла исталятора
!define src_dir "d:\npp" - путь к файлам для включения в дистрибутив

Собственно, скрипт:
Код: Выделить весь код
!define PRODUCT_NAME "Notepad++"
!define PRODUCT_VER "4.8.1"
!define out_file "npp.exe"
!define src_dir "d:\npp"

; MUI 1.67 compatible ------
!include "MUI.nsh"
;SetCompress off
SetCompressor /SOLID lzma
; MUI Settings
!define MUI_ABORTWARNING
!define MUI_ICON "Icons\modern-install.ico"
!define MUI_UNICON "Icons\modern-uninstall.ico"

!define MUI_HEADERIMAGE
!define MUI_HEADERIMAGE_BITMAP "BMP\npp_logo5.bmp"
!define MUI_HEADERIMAGE_BITMAP_NOSTRETCH
!define MUI_HEADERIMAGE_RIGHT


!define MUI_COMPONENTSPAGE_NODESC 
; Welcome page
!insertmacro MUI_PAGE_WELCOME
;dir
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_COMPONENTS 
; Instfiles page
!insertmacro MUI_PAGE_INSTFILES
; Finish page
;!insertmacro MUI_PAGE_FINISH

; Uninstaller pages
!insertmacro MUI_UNPAGE_INSTFILES
; Language files
!insertmacro MUI_LANGUAGE "Russian"

; MUI end ------

Name "${PRODUCT_NAME}"
Caption "${PRODUCT_NAME} ${PRODUCT_VER}"
OutFile "${out_file}"
InstallDir "$PROGRAMFILES\${PRODUCT_NAME}"
ShowInstDetails show
ShowUninstDetails show

InstType "Полная"
InstType "Сокращенная"
InstType "Минимальная"

Section "!${PRODUCT_NAME}" 
	SectionIn 1 2 3 RO
	SetOutPath "$INSTDIR"
	File /r /x "nppshellext.dll" /x "Notepad++.UserManual.chm" "${src_dir}\*.*"

	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "DisplayName" "${PRODUCT_NAME} ${PRODUCT_VER}"
	WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "UninstallString" '"$INSTDIR\uninst.exe"'
	WriteUninstaller "uninst.exe"

	SetShellVarContext All
	CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME} ${PRODUCT_VER}"
	CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME} ${PRODUCT_VER}\${PRODUCT_NAME} ${PRODUCT_VER}.lnk" "$INSTDIR\notepad++.exe" "" "$INSTDIR\notepad++.exe" 0
	CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME} ${PRODUCT_VER}\Удалить ${PRODUCT_NAME} ${PRODUCT_VER}.lnk" "$INSTDIR\uninst.exe" "" "$INSTDIR\uninst.exe" 0
SectionEnd

Section "Справка"
	SectionIn 1
	SetShellVarContext All
	SetOutPath "$INSTDIR"
	File "${src_dir}\Notepad++.UserManual.chm"
	CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME} ${PRODUCT_VER}\${PRODUCT_NAME} Справка.lnk" "$INSTDIR\Notepad++.UserManual.chm"
SectionEnd 

Section "Контекстное меню Проводника"
	SectionIn 1 2
	SetOutPath "$INSTDIR"
	File "${src_dir}\nppshellext.dll"
	RegDLL "$INSTDIR\nppshellext.dll"
SectionEnd 

Section "Ярлык на рабочий стол"
	SectionIn 1
	IfSilent +3
	SetShellVarContext All
	CreateShortCut "$DESKTOP\${PRODUCT_NAME} ${PRODUCT_VER}.lnk" "$INSTDIR\notepad++.exe" "" "$INSTDIR\notepad++.exe" 0
SectionEnd 

Section "Uninstall"
  ; Remove registry keys
  DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}"
  ; Remove directories used
  UnRegDLL "$INSTDIR\nppshellext.dll"
  SetShellVarContext All
  RMDir /r "$SMPROGRAMS\${PRODUCT_NAME} ${PRODUCT_VER}"
  RMDir /r "$INSTDIR"
  Delete "$DESKTOP\${PRODUCT_NAME} ${PRODUCT_VER}.lnk"
 SectionEnd

Function un.onInit
    MessageBox MB_YESNO|MB_ICONQUESTION  "Удалить ${PRODUCT_NAME} ${PRODUCT_VER}?" IDYES NoAbort
      Abort ; causes uninstaller to quit.
    NoAbort:
 FunctionEnd
Это сообщение посчитали полезным следующие участники:

Отправлено: 18:10, 03-03-2008

 

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


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

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


А зачем столь сложные манипуляции, если инсталятором с офсайта ставится русский и с плагиними и втихую с ключем -S ?

Отправлено: 13:57, 10-03-2008 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Аватара для hb860

Идиот


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

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


Цитата hb860:
Это скорее для энтузиастов. »

-------
http://feeds.feedburner.com/Winreviewru.1.gif
Горячие клавиши Windows 8 | Все программы, которые я разработал| Гаджеты для Windows 8


Отправлено: 10:18, 11-03-2008 | #3


Новый участник


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

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


У меня вопрос, как добавить интеграцию просмоторщика хтмл страниц по-умолчанию в ие? В оригинальном это есть, тут можно добавить?

Отправлено: 13:43, 15-06-2008 | #4


Аватара для hb860

Идиот


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

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


Поподробней...это что ? Не пользуюсь сам этой возможностью.

-------
http://feeds.feedburner.com/Winreviewru.1.gif
Горячие клавиши Windows 8 | Все программы, которые я разработал| Гаджеты для Windows 8


Отправлено: 21:56, 15-06-2008 | #5



Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » Notepad++. Собственный инсталлер

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - Собственный почтовый сервер. desivers Программное обеспечение Windows 5 02-09-2008 10:01
Firefox 3 бьёт свой собственный рекорд! OSZone News Новости информационных технологий 4 30-08-2008 23:21
Собственный торрент-треккер на Windows Server ManHack Программное обеспечение Windows 0 17-03-2008 21:04
Способен ли собственный сайт приносить прибыль? Mr666 Вебмастеру 4 04-10-2005 20:55
Собственный сервер Zigmund О сайте и форуме 3 25-07-2002 10:35




 
Переход