Install
Модератор: Модераторы
-
badaninslava
- постоялец
- Сообщения: 101
- Зарегистрирован: 12.12.2005 00:21:44
STAKANOV писал(а): Вот еще нашел <a href='http://nsis.sourceforge.net/Main_Page' target='_blank'>Nullsoft Install System</a>. Тоже бесплатная, популярна среди OpenSource. Кто-нибудь пробовал? Как она по сравнения с InnoSetup ?
С InnoSetup'ом, если чесно, не работал, но NIS очень понравился, я на нем себе инсталл сделал. Сейчас такая задача не стоит, но в будущем ближайшем возможно попробую InnoSetup.
-
Вадим Станкевич
- незнакомец
- Сообщения: 8
- Зарегистрирован: 11.03.2006 00:57:48
nsis - не сравним с innosetup. На мой взгляд - с nsisom возможно сравтить только install shield. Его возможности огромны. Уже много лет пользую именно его. А начинал именно с инносетуапа. но сравнивать эти две (в общем-то хорошие) системы,- все равно, что сравнивать фонтан и водопад. ИМХО. Их возможности НЕСОИЗМЕРИМЫ !!!
-
Вадим Станкевич
- незнакомец
- Сообщения: 8
- Зарегистрирован: 11.03.2006 00:57:48
чем лучше?
это полностью настраивеемый, скриптовый язык с возможностями, которые ограничивает только фантазия автора... в нем есть ВСЕ, что может понадобиться при установке программ... инносетап - очень хорошая система, но - (повторюсь) - их возможности простол несоизмеримы. опять-же ИМХО.
те фичи, которые использую я:
пихаю в свой инсталл инсталл нужной мне базы данных (к примеру - фаерберда), запускаю его из своего, жду пока отработает, продалжаю устанавливать свою прогу...
работаю с реестром...
ярлыки (рабочий стол, главное меню)...
и много чего еще. кроме-того - ОЧЕНЬ хорошие возможности упаковщика (выбирается эксперементальным путем) и - нормальный деинсталл с чисткой реестра, ярлыков, папок...
это самый минимум...
ну и там иконки-картинки
это я особо не учитывал... а так - почитайте официальный хелп.
это полностью настраивеемый, скриптовый язык с возможностями, которые ограничивает только фантазия автора... в нем есть ВСЕ, что может понадобиться при установке программ... инносетап - очень хорошая система, но - (повторюсь) - их возможности простол несоизмеримы. опять-же ИМХО.
те фичи, которые использую я:
пихаю в свой инсталл инсталл нужной мне базы данных (к примеру - фаерберда), запускаю его из своего, жду пока отработает, продалжаю устанавливать свою прогу...
работаю с реестром...
ярлыки (рабочий стол, главное меню)...
и много чего еще. кроме-того - ОЧЕНЬ хорошие возможности упаковщика (выбирается эксперементальным путем) и - нормальный деинсталл с чисткой реестра, ярлыков, папок...
это самый минимум...
ну и там иконки-картинки
ок - только я слищком давно не юзал InnoSetup... и мне тяжеловато вспомнить его фишки...
из самых-самых так сказать, по моему:
1. Колбек-функции
.onGUIInit
This callback will be called just before the first page is loaded and the installer dialog is shown, allowing you to tweak the user interface.
Example:
!include "${NSISDIR}\Include\WinMessages.nsh"
Function .onGUIInit
# 1028 is the id of the branding text control
GetDlgItem $R0 $HWNDPARENT 1028
CreateFont $R1 "Tahoma" 10 700
SendMessage $R0 ${WM_SETFONT} $R1 0
# set background color to white and text color to red
SetCtlColors $R0 FFFFFF FF0000
FunctionEnd
.onInit
This callback will be called when the installer is nearly finished initializing. If the '.onInit' function calls Abort, the installer will quit instantly.
.onInstFailed
This callback is called when the user hits the 'cancel' button after the install has failed (if it could not extract a file, or the install script used the Abort command).
.onInstSuccess
This callback is called when the install was successful, right before the install window closes (which may be after the user clicks 'Close' if AutoCloseWindow or SetAutoClose is set to false).
.onGUIEnd
This callback is called right after the installer window closes. Use it to free any user interface related plug-ins if needed.
.onMouseOverSection
This callback is called whenever the mouse position over the sections tree has changed. This allows you to set a description for each section for example. The section id on which the mouse is over currently is stored, temporarily, in $0.
.onRebootFailed
This callback is called if Reboot fails. WriteUninstaller, plug-ins, File and WriteRegBin should not be used in this callback.
.onSelChange
Called when the selection changes on the component page. Useful for using with SectionSetFlags and SectionGetFlags.
.onUserAbort
This callback is called when the user hits the 'cancel' button, and the install hasn't already failed. If this function calls Abort, the install will not be aborted.
.onVerifyInstDir
This callback enables control over whether or not an installation path is valid for your installer. This code will be called every time the user changes the install directory, so it shouldn't do anything crazy with MessageBox or the likes. If this function calls Abort, the installation path in $INSTDIR is deemed invalid.
Uninstall Callbacks
un.onGUIInit
This callback will be called just before the first page is loaded and the installer dialog is shown, allowing you to tweak the user interface.
un.onInit
This callback will be called when the uninstaller is nearly finished initializing. If the 'un.onInit' function calls Abort, the uninstaller will quit instantly. Note that this function can verify and/or modify $INSTDIR if necessary.
un.onUninstFailed
This callback is called when the user hits the 'cancel' button after the uninstall has failed (if it used the Abort command or otherwise failed).
un.onUninstSuccess
This callback is called when the uninstall was successful, right before the install window closes (which may be after the user clicks 'Close' if SetAutoClose is set to false)..
un.onGUIEnd
This callback is called right after the uninstaller window closes. Use it to free any user interface related plug-ins if needed.
un.onRebootFailed
This callback is called if Reboot fails. WriteUninstaller, plug-ins, File and WriteRegBin should not be used in this callback.
un.onUserAbort
This callback is called when the user hits the 'cancel' button and the uninstall hasn't already failed. If this function calls Abort, the install will not be aborted.
Поддержка стека и обработка строк
Создание мультиязыковых инсталляций (большинство языков в поставке)
Поддержка вызовов экспортных функций (dll)
контроль CRC
компрессия (zlib/dzip2/lzma)
Вообще - много чего...
из самых-самых так сказать, по моему:
1. Колбек-функции
.onGUIInit
This callback will be called just before the first page is loaded and the installer dialog is shown, allowing you to tweak the user interface.
Example:
!include "${NSISDIR}\Include\WinMessages.nsh"
Function .onGUIInit
# 1028 is the id of the branding text control
GetDlgItem $R0 $HWNDPARENT 1028
CreateFont $R1 "Tahoma" 10 700
SendMessage $R0 ${WM_SETFONT} $R1 0
# set background color to white and text color to red
SetCtlColors $R0 FFFFFF FF0000
FunctionEnd
.onInit
This callback will be called when the installer is nearly finished initializing. If the '.onInit' function calls Abort, the installer will quit instantly.
.onInstFailed
This callback is called when the user hits the 'cancel' button after the install has failed (if it could not extract a file, or the install script used the Abort command).
.onInstSuccess
This callback is called when the install was successful, right before the install window closes (which may be after the user clicks 'Close' if AutoCloseWindow or SetAutoClose is set to false).
.onGUIEnd
This callback is called right after the installer window closes. Use it to free any user interface related plug-ins if needed.
.onMouseOverSection
This callback is called whenever the mouse position over the sections tree has changed. This allows you to set a description for each section for example. The section id on which the mouse is over currently is stored, temporarily, in $0.
.onRebootFailed
This callback is called if Reboot fails. WriteUninstaller, plug-ins, File and WriteRegBin should not be used in this callback.
.onSelChange
Called when the selection changes on the component page. Useful for using with SectionSetFlags and SectionGetFlags.
.onUserAbort
This callback is called when the user hits the 'cancel' button, and the install hasn't already failed. If this function calls Abort, the install will not be aborted.
.onVerifyInstDir
This callback enables control over whether or not an installation path is valid for your installer. This code will be called every time the user changes the install directory, so it shouldn't do anything crazy with MessageBox or the likes. If this function calls Abort, the installation path in $INSTDIR is deemed invalid.
Uninstall Callbacks
un.onGUIInit
This callback will be called just before the first page is loaded and the installer dialog is shown, allowing you to tweak the user interface.
un.onInit
This callback will be called when the uninstaller is nearly finished initializing. If the 'un.onInit' function calls Abort, the uninstaller will quit instantly. Note that this function can verify and/or modify $INSTDIR if necessary.
un.onUninstFailed
This callback is called when the user hits the 'cancel' button after the uninstall has failed (if it used the Abort command or otherwise failed).
un.onUninstSuccess
This callback is called when the uninstall was successful, right before the install window closes (which may be after the user clicks 'Close' if SetAutoClose is set to false)..
un.onGUIEnd
This callback is called right after the uninstaller window closes. Use it to free any user interface related plug-ins if needed.
un.onRebootFailed
This callback is called if Reboot fails. WriteUninstaller, plug-ins, File and WriteRegBin should not be used in this callback.
un.onUserAbort
This callback is called when the user hits the 'cancel' button and the uninstall hasn't already failed. If this function calls Abort, the install will not be aborted.
Поддержка стека и обработка строк
Создание мультиязыковых инсталляций (большинство языков в поставке)
Поддержка вызовов экспортных функций (dll)
контроль CRC
компрессия (zlib/dzip2/lzma)
Вообще - много чего...
