|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Ветеран Сообщения: 1558
|
Профиль | Сайт | Отправить PM | Цитировать AlexThePeacemaker, так же с ключом /S.
Uninstall.exe /S |
------- Отправлено: 11:52, 27-06-2009 | #161 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 1133
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 18:50, 05-07-2009 | #162 |
Сообщения: 3651
|
Профиль | Сайт | Отправить PM | Цитировать Serega,
|
------- Отправлено: 19:54, 05-07-2009 | #163 |
Ветеран Сообщения: 1133
|
Профиль | Отправить PM | Цитировать Habetdin, справку я прочитал. С WriteRegBin и WriteRegDWORD, в принципе понятно, но вот остальные ключи?
Повторюсь: Цитата Serega:
|
|
------- Отправлено: 20:17, 05-07-2009 | #164 |
Идиот Сообщения: 1125
|
Профиль | Сайт | Отправить PM | Цитировать Serega,
Мож и не стоит изобретать велосипед-то ? Reg2Nsis utility мои потребности, например, удовлетворяет. |
------- Отправлено: 20:44, 05-07-2009 | #165 |
Ветеран Сообщения: 1133
|
Профиль | Отправить PM | Цитировать Цитата hb860:
Извините, вопрос снят. |
|
------- Отправлено: 20:53, 05-07-2009 | #166 |
Старожил Сообщения: 171
|
Профиль | Отправить PM | Цитировать Здравствуйте форумчане. Я только начал разбираться с программой дайте ответ на 2 вопроса
1, как запустить установленное приложения после установки. 2, как интегрировать файл реестровый файл когда идет установка Заранее спасибо |
Отправлено: 01:01, 21-07-2009 | #167 |
Идиот Сообщения: 1125
|
Профиль | Сайт | Отправить PM | Цитировать onis, именно реестровый файл так:
А ещё его можно сконвертить в код NSIS, и впихнуть прям в инсталятор. Но лично мне лень, и я часто делаю так, как написал выше, хотя это и "дурной тон" Чтобы запустить установленное приложение в конце установки, читаем справку: Цитата:
Вот оттуда код: Помоему, более чем достаточно. Заодно ссылочку воткнете на свой сайт или сайт производителя |
|
------- Отправлено: 18:44, 21-07-2009 | #168 |
Старожил Сообщения: 171
|
Профиль | Отправить PM | Цитировать hb860, Большое спасибо
|
Отправлено: 19:13, 21-07-2009 | #169 |
Новый участник Сообщения: 3
|
Профиль | Отправить PM | Цитировать Порадую вас кодом проги Roof Builder
ее сайт www.roof-builder.ru /* */ !define PRODUCT_NAME "Roof Builder" !define PRODUCT_VERSION "3.00.69.00" !define PRODUCT_PUBLISHER "MDinc" !define PRODUCT_WEB_SITE "http://www.roof-builder.ru" !define PRODUCT_DIR_REGKEY "Software\Microsoft\Windows\CurrentVersion\App Paths\roof.exe" !define PRODUCT_UNINST_KEY "Software\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" !define PRODUCT_UNINST_ROOT_KEY "HKLM" !define PRODUCT_USERRB_ROOT_KEY "HKCU" !define PRODUCT_RB_KEY "Software\VB and VBA Program Settings\${PRODUCT_NAME}" !define PRODUCT_RB_DIR "..\..\Roof_Builder_2.85" VIProductVersion "${PRODUCT_VERSION}" !define PRODUCT_DAO_DIR_KEY "Microsoft Shared\DAO" var PRODUCT_DAO_OK ;!define /date MyTIMESTAMP "%Y/%m/%d %H:%M:%S" Name "${PRODUCT_NAME} ${PRODUCT_VERSION}" ;Name "roof" OutFile "RBinstall.exe" InstallDir "$PROGRAMFILES\${PRODUCT_NAME}" InstallDirRegKey HKLM "${PRODUCT_DIR_REGKEY}" "" ;!ifdef NSIS_LZMA_COMPRESS_WHOLE ;SetCompressor zlib ;!else ;SetCompressor /SOLID lzma ;!endif SetCompress Auto SetCompressor /SOLID lzma SetCompressorDictSize 32 SetDatablockOptimize on ; - оптимизация блока данных ; MUI 1.67 compatible ------ !include "MUI.nsh" !define MUI_UI "LA_ui.exe" #файл интерфейса !define MUI_HEADERIMAGE !define MUI_HEADERIMAGE_BITMAP "${NSISDIR}\Contrib\Graphics\Header\orange-r-nsis.bmp" !define MUI_HEADERIMAGE_RIGHT ; MUI Settings !define MUI_ABORTWARNING !define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\modern-install.ico" !define MUI_UNICON "${NSISDIR}\Contrib\Graphics\Icons\modern-uninstall.ico" ; Language Selection Dialog Settings !define MUI_LANGDLL_REGISTRY_ROOT "${PRODUCT_UNINST_ROOT_KEY}" !define MUI_LANGDLL_REGISTRY_KEY "${PRODUCT_UNINST_KEY}" !define MUI_LANGDLL_REGISTRY_VALUENAME "NSIS:Language" ; Welcome page !define MUI_WELCOMEFINISHPAGE_BITMAP "nsis\Roof-Builder-box_nsis_forma_cad.bmp" !define MUI_WELCOMEPAGE_TITLE_3LINES !insertmacro MUI_PAGE_WELCOME ; License page ;!insertmacro MUI_PAGE_LICENSE "${PRODUCT_RB_DIR}\doc\lic.txt" !insertmacro MUI_PAGE_COMPONENTS ;!define MUI_COMPONENTSPAGE_SMALLDESC ; Directory page var SHC_DESCTOP var SHC_START var SHC_ASS !define MUI_PAGE_CUSTOMFUNCTION_LEAVE "CheckButtonsState1" #определяем статус кнопок function CheckButtonsState1 FindWindow $R1 "#32770" "" $HWNDPARENT GetDlgItem $R0 $R1 1052 #верхняя кнопка SendMessage $R0 0x00F2 0 0 $R0 #$R0=0 - если не выбрано StrCpy $SHC_DESCTOP "$R0" #переменная $SHC_DESCTOP используется в инсталляторе для ярлыка на Рабочий стол FindWindow $R1 "#32770" "" $HWNDPARENT GetDlgItem $R0 $R1 1053 #средняя кнопка SendMessage $R0 0x00F2 0 0 $R0 StrCpy $SHC_START "$R0" #переменная $SHC_START используется в инсталляторе для ярлыка в меню Пуск FindWindow $R1 "#32770" "" $HWNDPARENT GetDlgItem $R0 $R1 1054 #нижняя кнопка SendMessage $R0 0x00F2 0 0 $R0 StrCpy $SHC_ASS "$R0" #переменная $SHC_ASS используется в инсталляторе для ассоциаций с файлами functionend !define MUI_PAGE_CUSTOMFUNCTION_SHOW "ChangeButtonsCaption1" function ChangeButtonsCaption1 #подписи к кнопкам FindWindow $R1 "#32770" "" $HWNDPARENT GetDlgItem $R0 $R1 1052 SendMessage $R0 0x00F1 1 0 #по умолчанию выбрано SendMessage $R0 0xC 0 "STR:$(DeskSh)" FindWindow $R1 "#32770" "" $HWNDPARENT GetDlgItem $R0 $R1 1053 SendMessage $R0 0x00F1 1 0 #по умолчанию выбрано SendMessage $R0 0xC 0 "STR:$(StMenuSh)" FindWindow $R1 "#32770" "" $HWNDPARENT GetDlgItem $R0 $R1 1054 StrCmp $9 "1" +2 #$9 берется из on.Init при установке поверх эта кнопка будет не выбрана SendMessage $R0 0x00F1 1 0 #выбрано по умолчанию. Если поверх - то перескакивает - и не выбрано. SendMessage $R0 0xC 0 "STR:$(AssocFiles)" functionend !insertmacro MUI_PAGE_DIRECTORY ; Instfiles page !insertmacro MUI_PAGE_INSTFILES ; Finish page !define MUI_FINISHPAGE_RUN "$INSTDIR\roof.exe" !define MUI_FINISHPAGE_LINK $(Site) !define MUI_FINISHPAGE_LINK_LOCATION "http://www.roof-builder.ru" ;!define MUI_CUSTOMFUNCTION_GUIINIT onGUIInit !insertmacro MUI_PAGE_FINISH ; Uninstaller pages !insertmacro MUI_UNPAGE_INSTFILES ; MUI end ------ ; Language files !insertmacro MUI_LANGUAGE "English" !insertmacro MUI_LANGUAGE "Russian" !insertmacro MUI_LANGUAGE "Lithuanian" VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Roof Builder" VIAddVersionKey /LANG=${LANG_ENGLISH} "Comments" "Roof Builder is a complex decision for the calculation of roof sheets." VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "MDinc" VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "MDinc" VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "© MDinc" VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Roof Builder is a complex decision for the calculation of roof sheets." VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${PRODUCT_VERSION}" ShowInstDetails show ShowUnInstDetails show ;кнопки на странице с выбором Пути LangString DeskSh ${LANG_ENGLISH} "Desktop shortcut" LangString DeskSh ${LANG_RUSSIAN} "Ярлык на Рабочий стол" LangString DeskSh ${LANG_LITHUANIAN} "Nuoroda i darbalauki" LangString StMenuSh ${LANG_ENGLISH} "Start Menu shortcut" LangString StMenuSh ${LANG_RUSSIAN} "Ярлык в меню Пуск" LangString StMenuSh ${LANG_LITHUANIAN} "Nuoroda i Start meniu" LangString AssocFiles ${LANG_ENGLISH} "Associate with files" LangString AssocFiles ${LANG_RUSSIAN} "Ассоциировать файлы .rfd и .rbp с программой" LangString AssocFiles ${LANG_LITHUANIAN} "Asocijuoti su failais" ;на последней странице инсталлятора название ссылки LangString Site ${LANG_ENGLISH} "Visit Roof Builder Website - www.roofbuilder.net" LangString Site ${LANG_RUSSIAN} "Посетить сайт программы - www.roof-builder.ru" LangString Site ${LANG_LITHUANIAN} "Aplankyti programos tinklapi - www.roofbuilder.net" ;LangString Previous ${LANG_ENGLISH} "Configuration file was found.$\nWarning! Configuration from previous version of ${PRODUCT_NAME} may not be be right for new version.$\nDo you want update file?" ;LangString Previous ${LANG_RUSSIAN} "Найдена предыдущая установка программы.$\nВнимание! Текущая версия программы может не корректно работать со старой конфигурацией.$\nОбновить или пропустить?" ;LangString Previous ${LANG_LITHUANIAN} "Si programos versija jau buvo idegta.$\nDemesio! Instaliuojama programos versija su senu konfiguravimu gali dirbti su klaidom.$\nAtnaujinti ar praleisti?" LangString UninstSuccess ${LANG_ENGLISH} "$(^Name) was successfully removed from your computer." LangString UninstSuccess ${LANG_RUSSIAN} "Деинсталяция программы $(^Name) успешна завершена." LangString UninstSuccess ${LANG_LITHUANIAN} "Programos deinstaliacija $(^Name) sekmingai uzbaigta." ;Удаление LangString Uninstall ${LANG_ENGLISH} "Remove Roof Builder." LangString Uninstall ${LANG_RUSSIAN} "Удалить программу." LangString Uninstall ${LANG_LITHUANIAN} "Pasalinti programa." LangString UnInit ${LANG_ENGLISH} "Are you sure you want to completely remove $(^Name) and all of its components?" LangString UnInit ${LANG_RUSSIAN} "Вы действительно хотите удалить $(^Name) и все ее компоненты?" LangString UnInit ${LANG_LITHUANIAN} "Jus tikrai norite pasalinti $(^Name) visus programos komponentus?" BrandingText /TRIMRIGHT " ${PRODUCT_NAME} v${PRODUCT_VERSION} " var SELECT_LNG Function .onInit !insertmacro MUI_LANGDLL_DISPLAY StrCpy $SELECT_LNG 9 ;Call CloseRB ;Sleep 100 ;Call SysLang ;Pop "$SELECT_LNG" ; Variable (for language name) ; Check to see if already installed ReadRegStr $R0 HKLM "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\${PRODUCT_NAME}" "UninstallString" IfFileExists $R0 +1 NotInstalled MessageBox MB_YESNO "${PRODUCT_NAME} is apparently already installed. Are you want to unistall it?" /SD IDYES IDNO dontinstall Exec $R0 Quit dontinstall: NotInstalled: ;Banner::show /NOUNLOAD "Checking for DAO..." ;Banner::destroy StrCpy $PRODUCT_DAO_OK 0 IfFileExists "$COMMONFILES\${PRODUCT_DAO_DIR_KEY}\DAO360.DLL" 0 isdao StrCpy $R0 "$COMMONFILES\${PRODUCT_DAO_DIR_KEY}\DAO360.DLL" Push $R0 Call CheckDllVersion Pop $R0 ${If} $R0 >= 3.60 ;MessageBox MB_ICONEXCLAMATION "$0 < 3.60" ;Call ConnectInternet ;Make an internet connection (if no connection available) ;StrCpy $2 "$TEMP\MDAC.exe" ;NSISdl::download http://download.microsoft.com/download/c/f/2/cf2b5cd9-7ffd-4c19-971f-9ccaf0b57d48/MDAC_TYP.EXE $2 ;Pop $0 ;StrCmp $0 success success ;SetDetailsView show ;DetailPrint "download failed: $0" ;Abort ;success: ;SetDetailsView show ;ExecWait '"$2"' ;Delete $2 ;Abort ;DetailPrint "DAO360.DLL" StrCpy "$PRODUCT_DAO_OK" 1 ${EndIf} isdao: FunctionEnd ; StrCpy $R0 "$COMMONFILES\${PRODUCT_DAO_DIR_KEY}\DAO360.DLL" ; Push $R0 ; Call CheckDllVersion ; Pop $R0 ; Function CheckDllVersion Exch $0 Push $1 GetDllVersion $0 $R1 $R2 IntOp $R3 $R1 / 0x00010000 IntOp $R4 $R1 & 0x0000FFFF ;IntOp $R5 $R2 / 0x00010000 ;IntOp $R6 $R2 & 0x0000FFFF StrCpy $0 $R3.$R4 Pop $1 Exch $0 FunctionEnd ;Function CheckRegKey ;Exch $0 ;Push $1 ;ReadRegStr $0 HKLM "Software\MyProgram" "SetupPath" ;IfErrors 0 noerror ;DetailPrint "Ключ не существует!" ;Goto EndCheck ;noerror: ;DetailPrint "Ключ существует, значение SetupPath=$0" ;EndCheck: ;FunctionEnd ## Set the hyperlink up. ;Function onGUIInit ; BrandingURL::Set /NOUNLOAD "0" "200" "0" "http://www.roof-builder.ru" ;FunctionEnd ;function RenameFile ; Push $R0 ; ; IfFileExists $R0 0 +2 ; ; Rename $R0 $R0. ; ; StrCpy $R0 1 ; Exch $R0 ;functionend ;Function ConnectInternet ; ; Push $R0 ; ; ClearErrors ; Dialer::AttemptConnect ; IfErrors noie3 ; ; Pop $R0 ; StrCmp $R0 "online" connected ; MessageBox MB_OK|MB_ICONSTOP "Cannot connect to the internet." ; Quit ; ; noie3: ; ; ; IE3 not installed ; MessageBox MB_OK|MB_ICONINFORMATION "Please connect to the internet now." ; ; connected: ; ; Pop $R0 ; ;FunctionEnd ;ExecWait '"$INSTDIR\myprog.exe"' ;!include Library.nsh AutoCloseWindow false ShowInstDetails show InstProgressFlags smooth InstType "Full Install" InstType "Standart" Section "!Main" SEC01 SectionIn 1 2 3 RO SetDateSave on ; ; CHECK PREVIOUS INSTALLATION ; StrCpy $0 0 loop: EnumRegKey $1 ${PRODUCT_USERRB_ROOT_KEY} "${PRODUCT_RB_KEY}" $0 StrCmp $1 "" done IntOp $0 $0 + 1 ;StrCmp $1 "REG" miss ;DetailPrint "Delete ${PRODUCT_RB_KEY}\$1" StrCpy $2 0 loopv: ClearErrors EnumRegValue $3 ${PRODUCT_USERRB_ROOT_KEY} "${PRODUCT_RB_KEY}\$1" $2 IfErrors donev IntOp $2 $2 + 1 ;StrCmp $3 "" donev StrCmp $3 "firminfo" loopv StrCmp $3 "fimname" loopv DetailPrint "Delete ${PRODUCT_RB_KEY}\$1\$3" DeleteRegValue ${PRODUCT_USERRB_ROOT_KEY} "${PRODUCT_RB_KEY}\$1" "$3" goto loopv donev: DetailPrint "Delete ${PRODUCT_RB_KEY}\$1" DeleteRegKey ${PRODUCT_USERRB_ROOT_KEY} "${PRODUCT_RB_KEY}\$1" ;miss: goto loop done: DeleteRegKey ${PRODUCT_USERRB_ROOT_KEY} "${PRODUCT_RB_KEY}" ;StrCpy $0 0 ;EnumRegKey $1 HKLM "Software\${PRODUCT_NAME}" $0 ;StrCmp $1 "" done1 ;IntOp $0 $0 + 1 ;WriteRegStr HKLM "Software\${PRODUCT_NAME}" "" "" ;done1: AccessControl::GrantOnRegKey HKLM "Software\${PRODUCT_NAME}" "(BU)" "FullAccess" ; ; Main ; SetOutPath "$INSTDIR" SetOverwrite ifnewer IfFileExists "$INSTDIR\roof.exe" 0 +1 Delete "$INSTDIR\roof.exe" File "${PRODUCT_RB_DIR}\roof.exe" ; ; LNG ; CreateDirectory "$INSTDIR\lng" SetOutPath "$INSTDIR\lng" SetOverwrite on file "${PRODUCT_RB_DIR}\lng\Russian.lng" ; ; PLUGINS ; ;IfFileExists "$INSTDIR\plugins\CalcList.dll" "" +2 ;Rename "$INSTDIR\plugins\CalcList.dll" "$INSTDIR\plugins\CalcList.dll.backup" ;CreateDirectory "$INSTDIR\plugins" ;SetOutPath "$INSTDIR\plugins" ;file "${PRODUCT_RB_DIR}\plugins\CalcList.dll" ; ; MDB ; ;IfFileExists "$INSTDIR\cfg\materials.mdb" IsConfigFile ;UpdateConfigFile: ; Обновление реестра WriteRegStr ${PRODUCT_USERRB_ROOT_KEY} "${PRODUCT_RB_KEY}\main" "mdbcofigfile" "$INSTDIR\cfg\materials.mdb" ; Удаление файла конфигурации IfFileExists "$INSTDIR\cfg\materials.mdb" +1 Delete "$INSTDIR\cfg\materials.mdb" ;CreateDirectory "$INSTDIR\cfg" ;SetOutPath "$INSTDIR\cfg" ;file "${PRODUCT_RB_DIR}\cfg\materials.mdb" ;goto UpdateConfigFileSuccess ;IsConfigFile: ;MessageBox MB_YESNO|MB_ICONEXCLAMATION $(Previous) IDYES UpdateConfigFile ;UpdateConfigFileSuccess: ; ; OCX ; SetOutPath "$INSTDIR" SetOverwrite on ;ifnewer file "${PRODUCT_RB_DIR}\ocx\SplitterModern\SplitterModern.ocx" RegDLL "$INSTDIR\SplitterModern.ocx" file "${PRODUCT_RB_DIR}\ocx\FrameMinus\FrameHide.ocx" RegDLL "$INSTDIR\FrameHide.ocx" file "${PRODUCT_RB_DIR}\ocx\SuperRuler 1.0\acSR.ocx" RegDLL "$INSTDIR\acSR.ocx" ; ; DAO ; ${If} $PRODUCT_DAO_OK == 0 SetOutPath "$COMMONFILES\${PRODUCT_DAO_DIR_KEY}" SetOverwrite ifnewer file "C:\Program Files\Common Files\Microsoft Shared\DAO\dao360.dll" RegDLL "$COMMONFILES\${PRODUCT_DAO_DIR_KEY}\dao360.dll" ${EndIf} ;SetOutPath "$INSTDIR" ;SetOverwrite ifdiff ; ; DLL ; CreateDirectory "$INSTDIR\data" AccessControl::GrantOnFile "$INSTDIR\data" "(BU)" "FullAccess" CreateDirectory "$INSTDIR\tmp" AccessControl::GrantOnFile "$INSTDIR\tmp" "(BU)" "FullAccess" SetOverwrite on ; ; DLL ; file "${PRODUCT_RB_DIR}\rb_loc.dll" ; ; TLB ; file "${PRODUCT_RB_DIR}\gdi+.tlb" ; ; DLL VB6 ; file "${PRODUCT_RB_DIR}\FileMan.dll" RegDLL "$INSTDIR\FileMan.dll" file "h:\PROJECTs\VB6\VB6\SUBCLALSSING\iSubclass dll SelfSub 2.1\SelfSub 2.1\Samples\cSubclass\iSubclass version\iSubclass.dll" RegDLL "$INSTDIR\iSubclass.dll" StrCmp $SHC_DESCTOP "0" nodesk CreateShortCut "$DESKTOP\${PRODUCT_NAME}.lnk" "$INSTDIR\roof.exe" "" "" "" "" "" "${PRODUCT_NAME} ${PRODUCT_VERSION}" nodesk: StrCmp $SHC_START "0" nostart CreateDirectory "$SMPROGRAMS\${PRODUCT_NAME}" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" "$INSTDIR\roof.exe" nostart: SectionEnd Section "Config Base" SEC06 SectionIn 1 CreateDirectory "$INSTDIR\cfg" AccessControl::GrantOnFile "$INSTDIR\cfg" "(BU)" "FullAccess" SetOutPath "$INSTDIR\cfg" SetOverwrite on file "${PRODUCT_RB_DIR}\cfg\materials.mdb" SectionEnd Section "VB6 Libraryes" SEC05 SectionIn 1 2 ;VB6 SetOutPath "$SYSDIR" IfFileExists "$SYSDIR\STDOLE2.TLB" 0 skip_comdlg32 File "C:\windows\SYSTEM32\comdlg32.ocx" RegDLL "$SYSDIR\comdlg32.ocx" skip_comdlg32: IfFileExists "$SYSDIR\STDOLE2.TLB" 0 skip_Msvbvm60 File "C:\windows\SYSTEM32\Msvbvm60.dll" RegDLL "$SYSDIR\Msvbvm60.dll" skip_Msvbvm60: IfFileExists "$SYSDIR\STDOLE2.TLB" 0 skip_MSCOMCTL File "C:\windows\SYSTEM32\MSCOMCTL.OCX" RegDLL "$SYSDIR\MSCOMCTL.OCX" skip_MSCOMCTL: IfFileExists "$SYSDIR\STDOLE2.TLB" 0 skip_MSCOMCT2 File "C:\windows\SYSTEM32\MSCOMCT2.OCX" RegDLL "$SYSDIR\MSCOMCT2.OCX" skip_MSCOMCT2: IfFileExists "$SYSDIR\STDOLE2.TLB" 0 skip_STDOLE2 File "C:\windows\SYSTEM32\STDOLE2.TLB" RegDLL "$SYSDIR\STDOLE2.TLB" skip_STDOLE2: IfFileExists "$SYSDIR\STDOLE2.TLB" 0 skip_VB6 File "C:\windows\SYSTEM32\VB6.OLB" skip_VB6: SectionEnd SubSection "Language pkg" SecLNG Section /o "Lithuania pkg" SEC03 SectionIn 1 SetOutPath "$INSTDIR\lng" SetOverwrite on file "${PRODUCT_RB_DIR}\lng\Lithuania.lng" SectionEnd Section /o "English pkg" SEC04 SectionIn 1 SetOutPath "$INSTDIR\lng" SetOverwrite on file "${PRODUCT_RB_DIR}\lng\English.lng" SectionEnd SubSectionEnd Section "-Calculation libraryes" SEC02 # /o ! - ;SectionIn 1 ;IfFileExists "$INSTDIR\plugins\CalcListAdvanced.dll" "" +2 ;Rename "$INSTDIR\plugins\CalcListAdvanced.dll" "$INSTDIR\plugins\CalcListAdvanced.dll.backup" SetOutPath "$INSTDIR\plugins" SetOverwrite on ;file "${PRODUCT_RB_DIR}\plugins\CalcListCProject.dll" file "${PRODUCT_RB_DIR}\plugins\CalcList.dll" ;RegDLL "$INSTDIR\plugins\CalcList_cp_w.dll" ;SetOutPath "$SYSDIR" ;SetOverwrite on Delete "$SYSDIR\advcalcdll.dll" SetOutPath "$INSTDIR" SetOverwrite on file "${PRODUCT_RB_DIR}\advcalcdll.dll" ; MS VC file "H:\PROJECTs\CP\cdll\msvcp71.dll" file "H:\PROJECTs\CP\cdll\msvcr71.dll" SectionEnd ;Section /o "Manual" SEC04 ; SectionIn 1 ; SetOutPath "$INSTDIR" ; file /r "${PRODUCT_RB_DIR}\Doc" ;SectionEnd LangString DESC_SEC01 ${LANG_RUSSIAN} "Основная програма со всеми настройками." ;LangString DESC_SEC02 ${LANG_RUSSIAN} "Добавочные библиотеки расчета." LangString DESC_SEC03 ${LANG_RUSSIAN} "Локализационые файлы." LangString DESC_SecLNG ${LANG_RUSSIAN} "Локализационые файлы." ;LangString DESC_SEC04 ${LANG_RUSSIAN} "Файлы документации." LangString DESC_SEC05 ${LANG_RUSSIAN} "Основные библиотечные файлы." LangString DESC_SEC06 ${LANG_RUSSIAN} "Конфигурационный файл." LangString DESC_SEC01 ${LANG_ENGLISH} "Main program's files" ;LangString DESC_SEC02 ${LANG_ENGLISH} "Calculation`s library's." LangString DESC_SEC03 ${LANG_ENGLISH} "Main localisation's files." LangString DESC_SecLNG ${LANG_ENGLISH} "Main localisation's files." ;LangString DESC_SEC04 ${LANG_ENGLISH} "Manual." LangString DESC_SEC05 ${LANG_ENGLISH} "Main library's files." LangString DESC_SEC06 ${LANG_ENGLISH} "Main base config file." LangString DESC_SEC01 ${LANG_LITHUANIAN} "Pagrindine programa su visais nustatymais." ;LangString DESC_SEC02 ${LANG_LITHUANIAN} "Papildomos skaciavimo bibliotekos." LangString DESC_SEC03 ${LANG_LITHUANIAN} "Lokalizuoti failai." LangString DESC_SecLNG ${LANG_LITHUANIAN} "Lokalizuoti failai." ;LangString DESC_SEC04 ${LANG_LITHUANIAN} "Dokumentacijos failai." LangString DESC_SEC05 ${LANG_LITHUANIAN} "Pagrindiniai bibliotekos failai." LangString DESC_SEC06 ${LANG_LITHUANIAN} "Main base config file." !insertmacro MUI_FUNCTION_DESCRIPTION_BEGIN !insertmacro MUI_DESCRIPTION_TEXT ${SEC01} $(DESC_SEC01) ;!insertmacro MUI_DESCRIPTION_TEXT ${SEC02} $(DESC_SEC02) !insertmacro MUI_DESCRIPTION_TEXT ${SEC03} $(DESC_SEC03) !insertmacro MUI_DESCRIPTION_TEXT ${SecLNG} $(DESC_SecLNG) ;!insertmacro MUI_DESCRIPTION_TEXT ${SEC04} $(DESC_SEC04) !insertmacro MUI_DESCRIPTION_TEXT ${SEC05} $(DESC_SEC05) !insertmacro MUI_DESCRIPTION_TEXT ${SEC06} $(DESC_SEC06) !insertmacro MUI_FUNCTION_DESCRIPTION_END Section -AdditionalIcons WriteIniStr "$INSTDIR\${PRODUCT_NAME}.url" "InternetShortcut" "URL" "${PRODUCT_WEB_SITE}" StrCmp $SHC_START "0" nostart CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Website.lnk" "$INSTDIR\${PRODUCT_NAME}.url" CreateShortCut "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" "$INSTDIR\uninst.exe" nostart: SectionEnd Section -Post WriteUninstaller "$INSTDIR\uninst.exe" WriteRegStr HKLM "${PRODUCT_DIR_REGKEY}" "" "$INSTDIR\roof.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\roof.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}" WriteRegStr "${PRODUCT_USERRB_ROOT_KEY}" "${PRODUCT_RB_KEY}\Main" "CurrentLanguage" 25 ;Call Build_md5 ;Pop $0 ;DetailPrint "md5: [$0]" ;Delete "${PRODUCT_RB_DIR}\md5dll.dll" StrCmp $SHC_ASS "0" noassociation ExecWait '$INSTDIR\roof.exe /a' noassociation: ;Поиск ватермарка ROOF BUILDER 2880000000000000000 <> 3ed0f8b8558388fef8e57b9d25eb2e00 ;SetDetailsPrint none ;ExecWait '$INSTDIR\Update.exe -f "$INSTDIR\roof.exe" -s "620923383e86370de5db9c98622101c6" -r "$0"' ;SetDetailsPrint both SectionEnd ;Function Build_md5 # generate MD5sum of file ;md5dll::GetMD5File "$INSTDIR\PM.dll" ;Pop $0 ;FunctionEnd Function un.InitializeUnistall Push $5 loop: FindWindow $5 "Roof Builder" IntCmp $5 0 done SendMessage $5 16 0 0 Sleep 100 Goto loop done: Pop $5 FunctionEnd Function un.onUninstSuccess HideWindow MessageBox MB_ICONINFORMATION|MB_OK $(UninstSuccess) FunctionEnd Function un.onInit !insertmacro MUI_UNGETLANGUAGE Call un.InitializeUnistall Sleep 100 MessageBox MB_ICONQUESTION|MB_YESNO|MB_DEFBUTTON2 $(UnInit) IDYES +2 Abort FunctionEnd Section Uninstall SetShellVarContext all ExecWait "$INSTDIR\roof.exe /una" ; ; OCX ; UnRegDLL "$INSTDIR\SplitterModern.ocx" Delete "$INSTDIR\SplitterModern.ocx" UnRegDLL "$INSTDIR\FrameHide.ocx" Delete "$INSTDIR\FrameHide.ocx" UnRegDLL "$INSTDIR\acSR.ocx" Delete "$INSTDIR\acSR.ocx" ; ; DLL ; UnRegDLL "$INSTDIR\FileMan.dll" UnRegDLL "$INSTDIR\iSubclass.dll" RMDir "$SMPROGRAMS\${PRODUCT_NAME}" RMDir /r "$INSTDIR\plugins\*.*" RMDir /r "$INSTDIR\lng\*.*" RMDir /r "$INSTDIR\tmp\*.*" Delete "$INSTDIR\roof.exe" Delete "$INSTDIR\advcalcdll.dll" Delete "$INSTDIR\msvcp71.dll" Delete "$INSTDIR\msvcr71.dll" Delete "$INSTDIR\FileMan.dll" Delete "$INSTDIR\iSubclass.dll" Delete "$INSTDIR\rb_loc.dll" Delete "$INSTDIR\uninst.exe" ; ; TLB ; Delete "$INSTDIR\gdi+.tlb" ;Delete "$INSTDIR\Roof Builder" ;DeleteRegKey HKLM "Software\${PRODUCT_NAME}" Delete "$SMPROGRAMS\${PRODUCT_NAME}\Uninstall.lnk" Delete "$SMPROGRAMS\${PRODUCT_NAME}\Website.lnk" Delete "$DESKTOP\${PRODUCT_NAME}.lnk" Delete "$SMPROGRAMS\${PRODUCT_NAME}\${PRODUCT_NAME}.lnk" DeleteRegKey ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" DeleteRegKey HKLM "${PRODUCT_DIR_REGKEY}" SetAutoClose true SectionEnd |
Отправлено: 19:27, 22-07-2009 | #170 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - WinAmp .:[ обсуждение всех версий ]:. | ssaram | Программное обеспечение Windows | 406 | 12-02-2022 19:45 | |
WinstyleMonitor .:[все вопросы]:. | Mr dUSHA | Проект WinStyle | 331 | 12-02-2014 13:15 | |
Delphi - Delphi .: [все вопросы] :. | Serega | Программирование и базы данных | 94 | 04-05-2013 18:45 | |
Доступ - Никак не удаляются файлы (AVI и все остальные форматы) .:[все вопросы]:. | Microsoft Windows 2000/XP | 105 | 30-06-2010 11:58 | ||
Вопросы по создателю инсталляций NSIS | MaxDELETE | Программное обеспечение Windows | 14 | 04-07-2007 10:01 |
|