Доброго дня, методом проб и ошибок, мучая предоставленные ранее примеры и справочник из шапки, понял что в первый раз и спрашивал чутка нето и видел процес по другому. В моей последней версии получилось вот так
Код:
!define PRODUCT_NAME "Notes"
!define PRODUCT_VERSION "v3"
!define pkgdir "C:\1\"
!include "MUI2.nsh"
!include "TextFunc.nsh"
SetCompress off
!define MUI_ICON "${NSISDIR}\Contrib\Graphics\Icons\7.ico"
!define TVM_SETBKCOLOR 0x111D
!define TVM_SETTEXTCOLOR 0x111E
!define MUI_COMPONENTSPAGE_NODESC
!define MUI_COMPONENTSPAGE_TEXT_TOP "Текст"
!define MUI_COMPONENTSPAGE_TEXT_INSTTYPE "Выберите установку:"
!define MUI_COMPONENTSPAGE_TEXT_COMPLIST "Выберите настройки закладок ${PRODUCT_NAME}"
!define MUI_COMPONENTSPAGE_CHECKBITMAP "${NSISDIR}\Contrib\Graphics\Checks\colorful.bmp"
!define MUI_PAGE_CUSTOMFUNCTION_SHOW "CompShowProc"
!insertmacro MUI_PAGE_COMPONENTS
!insertmacro MUI_PAGE_INSTFILES
!insertmacro MUI_LANGUAGE "Russian"
InstType "Полная установка"
Name "${PRODUCT_NAME}"
Caption "Установка ${PRODUCT_NAME} ${PRODUCT_VERSION}"
OutFile "${PRODUCT_NAME} ${PRODUCT_VERSION}.exe"
Function CompShowProc
FindWindow $0 "#32770" "" $HWNDPARENT
GetDlgItem $0 $0 1032
SendMessage $0 ${TVM_SETBKCOLOR} 0 0xFFF0F0
SendMessage $0 ${TVM_SETTEXTCOLOR} 0 0x2828FF
CreateFont $1 "Comic Sans Ms" 9 0
SendMessage $0 ${WM_SETFONT} $1 0
FunctionEnd
SubSection /e "Клиент ${PRODUCT_NAME}"
Section "Настройка клиента и закладок" test
SectionIn 1
SectionIn RO
SetOutPath "D:\NotesTemp"
File /r "${pkgdir}\Notes\"
ExecWait "msiexec.exe /i $\"******"
SetOutPath "D:\NotesTemp"
File "${pkgdir}\addfile\add_file_ini.txt"
${FileJoin} "D:\Notes\notes.ini" "D:\NotesTemp\add_notes_ini.txt" ""
SetOutPath "D:\Notes\"
File "${pkgdir}\addfile\setup.txt"
SetOutPath "D:\Notes\Data\"
File /r "${pkgdir}\addfile\bookmark_mail\"
SetOutPath "D:\NotesTemp"
File "${pkgdir}\addfile\INSTALmail.BAT"
ExecWait "D:\NotesTemp\INSTALmail.BAT"
SectionEnd
Section /o "Настройка закладок 2" test1
SectionIn 1
SetOutPath "D:\Notes\Data\"
File /r "${pkgdir}\addfile\bookmark_sed\"
SectionEnd\
SubSectionEnd
Section #Удаление временных файлов
RMDir /r "D:\NotesTemp"
SectionEnd
Основываясь на примере из справки "Страница выбора компонентов установки" начал его пилить под себя и практически все задуманное получилось.
От одного батника избавился полностью, там было добавление строк в .txt и копирование фалов.
А вот у второго осталась одна последняя строчка к которой незнаю как подступиться.
Код:
if %userdomain% == ACME echo UserName=%username% >> D:\Notes\setup.txt
Не подскажите как можно реализовать прозвон домена и если совпадает, то пульнуть имя юзера в .txt ??
И вопрос второй косметический, в окне компонентов есть пунк который показывает требуемое место на диске, можно ли ему как то присвоить свое статичное значение или выключить вообще?? (Это не кретично, но не красиво выходит, инсталер не учитывает работу .msi который отрабатывает в процесе)