|
Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » [архив].: NSIS - все вопросы :. |
|
[архив].: NSIS - все вопросы :.
|
Ветеран Сообщения: 1216 |
Профиль | Отправить PM | Цитировать
|
|
Отправлено: 23:35, 17-06-2006 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата MKN:
MinorVersion - младшей версией Windows... MinorVersion Win8 = 2, в Win7 = 1 библиотека winver2.nsh из справки... ---- остальное доработаю по мере обновления справки. |
|
------- Последний раз редактировалось kotkovets, 22-10-2012 в 13:36. Отправлено: 12:44, 22-10-2012 | #3291 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 2359
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
|
|
Отправлено: 13:44, 22-10-2012 | #3292 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать MKN, я же говорил, почти все все работает на апи в NSIS - открой winver или winver2
дабы не писать - System::Call "user32:, которое уже расписано библиотеках в виде макросов для удобства. из winver2: !macro FUNC_GetVersionEx STRUCT_SIZE System::Call "*$9(i${STRUCT_SIZE})" System::Call "kernel32::GetVersionEx(ir9)i.R0" !macroend !macro FUNC_OSVERSIONINFOEX System::Alloc ${OSVERSIONINFOEX_SIZE} Pop $9 !insertmacro FUNC_GetVersionEx ${OSVERSIONINFOEX_SIZE} ${IfThen} $R0 = 0 ${|} !insertmacro FUNC_GetVersionEx ${OSVERSIONINFO_SIZE} ${|} System::Call "*$9(i.R2, i.r0, i.r1, i.r2, i.r3, &t128.r4, &i2.r5, &i2.r6, &i2.r7, &i1.r8, &i1)" System::Free $9 !macroend --- или подключить winver2.nsh и написать так: для стандартного winver: а почему winver2 читай в справке. читать внимательно когда будем? Цитата MKN:
исход известен... HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion |
|
------- Последний раз редактировалось kotkovets, 22-10-2012 в 14:54. Отправлено: 14:39, 22-10-2012 | #3293 |
Ветеран Сообщения: 602
|
Профиль | Отправить PM | Цитировать вот если 32 и 64 разрядность то в установщике надо прописать ключи реестра для каждой разрядности отдельно. а для секции в реестре Uninstall для меню программы и компоненты надо для каждой разрядности прописывать отдельно или установщик сам разберется??
|
------- Отправлено: 10:40, 24-10-2012 | #3294 |
Новый участник Сообщения: 11
|
Профиль | Отправить PM | Цитировать Здравствуйте.
Подскажите, пожалуйста, возможно ли и как сделать участок (функцию, секцию), которая бы выполнялась только при компиляции. Например: У меня есть список файлов (одна строка - один файл), который меняется пару раз на день. На основе этого списка должена формироваться инсталяшка. Я хочу реализовать такой механизм, чтоб при начале компиляции генерился список файлов и потом подключался в соответствующую секцию includ'ом. Возможно ли это, или проще написать exe-шник который это сам делал а потом запускал компиляцию? |
Отправлено: 18:43, 24-10-2012 | #3295 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата CrashTest:
Цитата shut:
outfile "test.exe" !delfile "C:\file.nsh" ;удаляем файл, если есть предыдущий !tempfile "C:\file.nsh" ;создаем файл !appendfile "C:\file.nsh" '!define msgBox "MessageBox MB_OK test_oszone"$\n' ;запись в файл !include "C:\file.nsh" Section ${msgBox} SectionEnd но парсить какие файлы и создавать список можно попробовать командной строкой (консольными прогами винды) типа dir.exe запущенной во время компиляции с определенными ключами(здесь я не силен, задайте на форуме этот вопрос в соответствущей теме) Запуск файла можно так: ну а далее как примером выше. Вообще в NSIS команды препроцессора начинаются с - ! смотрите подробно в справке... --- получается типа динамический скрипт... |
||
------- Последний раз редактировалось kotkovets, 24-10-2012 в 19:36. Отправлено: 19:25, 24-10-2012 | #3296 |
Ветеран Сообщения: 602
|
Профиль | Отправить PM | Цитировать Цитата kotkovets:
${If} ${RunningX64} File "64\files.exe" SetRegView 32 WriteRegDWORD HKCU "Software\programs\files\Settings" "language" "1049" WriteRegDWORD HKCU "Software\programs\files\Settings" "check-updates" "0" WriteRegDWORD HKCU "Software\Aprograms\files\Settings" "warn-not-default-viewer" "0" WriteRegStr HKCU "Software\programs\files\Settings" "version" "2.0.1" MessageBox MB_OK "C:\Program Files (x86)" SetRegView 64 WriteRegDWORD HKCU "Software\programs\files\Settings" "language" "1049" WriteRegDWORD HKCU "Software\programs\files\Settings" "check-updates" "0" WriteRegDWORD HKCU "Software\programs\files\Settings" "warn-not-default-viewer" "0" WriteRegStr HKCU "Software\programs\files\Settings" "version" "2.0.1" MessageBox MB_OK "C:\Program Files (x64)" ${Else} File "g\App\prog\files.exe" ${EndIf} Мой Вопрос: Надо ли этот ключ распределять между SetRegView 32 и 64 WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayIcon" "$INSTDIR\prog.exe" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "DisplayName" "${PRODUCT_NAME}" WriteRegStr ${PRODUCT_UNINST_ROOT_KEY} "${PRODUCT_UNINST_KEY}" "UninstallString" "$INSTDIR\Uninstall.exe" Зачем это проверять, если вы можете дать точный ответ. И все равно я не смогу увидеть через какой редактор заносились записи. |
|
------- Отправлено: 20:25, 24-10-2012 | #3297 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата CrashTest:
1. SetRegView: использование реестра от разрядности ОС 2. Логические конструкции в скриптах NSIS --- На все эти вопросы ответы есть. + посмотреть содержимое файла NSIS\Include\x64.nsh |
|
------- Отправлено: 21:45, 24-10-2012 | #3298 |
Ветеран Сообщения: 602
|
Профиль | Отправить PM | Цитировать kotkovets, тяжело так сказать... но я пишу насчет секций для удаления. их тоже заключать в setregview? не написано это в справке
|
------- Отправлено: 22:05, 24-10-2012 | #3299 |
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата CrashTest:
|
|
------- Отправлено: 22:07, 24-10-2012 | #3300 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Мультимедиа - 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 |
|