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

Показать сообщение отдельно

Аватара для wolkow70

Ветеран


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

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


Скрипт для перепаковки Firefox на NSIS :

!define PRODUCT_NAME "Mozilla Firefox"
!define PRODUCT_VERSION "4.0.1.0"
!define pkgdir "C:\Firefox"
!define MUI_WELCOMEFINISHPAGE_BITMAP "${pkgdir}\Firefox.bmp"
; MUI 1.67 compatible ------
!include "MUI.nsh"
SetCompressor /SOLID lzma
SetCompressorDictSize 32

!define MUI_ABORTWARNING
!define MUI_ICON "$pkgdir\Firefox.ico"
!define BRANDING "wolkow70"

; MUI Settings
!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE "Russian"

Name "${PRODUCT_NAME}"
Caption "Установка ${PRODUCT_NAME} ${PRODUCT_VERSION}"
BrandingText "${BRANDING}"
OutFile Firefox.exe
VIProductVersion "4.0.1.0"
!define /date date "%H:%M %d %b, %Y"
VIAddVersionKey /LANG=1049 "LegalCopyright" "Mozilla Corporation"
VIAddVersionKey /LANG=1049 "Comments" "Built on ${date}"
VIAddVersionKey /LANG=1049 "CompanyName" "Mozilla Corporation"
VIAddVersionKey /LANG=1049 "FileVersion" "20110413222027"
VIAddVersionKey /LANG=1049 "FileDescription" "Firefox"
SubCaption 3 " "
!include IsUserAdmin.nsh
!include FileFunc.nsh
!insertmacro GetRoot
!insertmacro DriveSpace
Function .onInit
System::Call 'kernel32::CreateMutexA(i 0, i 0, t "FirefoxSetup") i .r1 ?e'
Pop $R0
StrCmp $R0 0 +3
MessageBox MB_OK|MB_ICONQUESTION|MB_TOPMOST "Установка Firefox уже запущена..."
Abort
ReadRegDWORD $0 HKLM SYSTEM\Setup SystemSetupInProgress
IntCmp $0 1 0 +2
SetSilent silent
${GetRoot} "$WINDIR" $R0
${DriveSpace} "$R0" "/D=F /S=M" $R1
IntCmp $R1 100 +3 0 +3
MessageBox MB_OK|MB_ICONEXCLAMATION|MB_TOPMOST "На системном диске должно быть более$\n100 мегабайт свободного места.$\nУстановка Firefox отменена!"
Abort
!insertmacro IsUserAdmin $R0
StrCmp $R0 1 +3
MessageBox MB_OK|MB_ICONEXCLAMATION|MB_TOPMOST "Для установки программы у пользователя$\nдолжны быть права администратора.$\nУстановка Firefox отменена!"
Abort
FunctionEnd

Section "!${PRODUCT_NAME}" secFirefox
SectionIn RO
SetOutPath "$TEMP\FirefoxSetup"
File /r "Distrib\*"
ExecWait '"$TEMP\FirefoxSetup\setup.exe" -ms'
HideWindow
SetOutPath "$TEMP"
RMDir /r "$TEMP\FirefoxSetup"
Quit
SectionEnd

LangString message ${LANG_ENGLISH} "Here is in English"
LangString message ${LANG_RUSSIAN} "А тут по русски"
LangString DESC_Firefox ${LANG_RUSSIAN} "Будет установлен Интернет-браузер ${PRODUCT_NAME} ${PRODUCT_VERSION}"

!insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN
!insertmacro MUI_DESCRIPTION_TEXT ${secFirefox} $(DESC_Firefox)
!insertmacro MUI_FUNCTION_DESCRIPTION_END

Где в папку Distrib распаковываем инсталлятор, там должны оказаться папка Core, файлы Setup.exe и Setip.ini.

В свою очередь папка Distrib должна находится в папке Firefox, путь к которой определяется переменной "$pkgdir"

-------
Человек человеку - друг, товарищ и волк!


Последний раз редактировалось wolkow70, 08-05-2011 в 12:25.


Отправлено: 12:09, 08-05-2011 | #104