|
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
| Компьютерный форум OSzone.net » Автоматическая установка Windows » Автоматическая установка приложений » .: NSIS - все вопросы :. часть 2. |
|
|
.: NSIS - все вопросы :. часть 2.
|
|
Ветеран Сообщения: 1216 |
![]() Данная тема предназначена для обсуждения вопросов, связанных с инсталлятором Nullsoft Scriptable Install System, или просто NSIS. Сайт приложения. Описание: Текущая версия: NSIS 3.05 от 15 декабря 2019 года Скачать | Архив сборок версии Первая часть этой темы Скачать первую часть этой темы одним архивом ВНИМАНИЕ! прежде, чем задать вопрос, почитайте, где Вы найдете ответы на большинство вопросов: Справочник по NSIS - создан силами нашего сообщества. Руководство пользователя. Перевод – Поляков А.В, зеркало Документация Утилиты разработчика Расширение функциональности Примеры скриптов на нашем форуме Скрипт NSIS для перепаковки AIMP2+Сборки Тема для Notepad++(пример парсинга XML) Достоинства Ещё немного полезной информации: |
|
|
------- Отправлено: 12:02, 09-12-2012 |
|
Старожил Сообщения: 152
|
Профиль | Отправить PM | Цитировать Для убидительности проверил и на SP3 (Windows XP Home Edition)
http://dropi.ru/qMy.jpg Все образы с MSDN. Баг реально есть и именно на Home Edition. ссылка на оригинальные образы http://yadi.sk/d/OOa1SUsk7oKs0 |
|
Последний раз редактировалось Limonica, 23-10-2013 в 09:37. Отправлено: 01:37, 23-10-2013 | #621 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Ещё раз об определении архитектуры процессора. Был предложен плагин, но можно и так (когда то уже было...) :
OutFile "PROCESSOR_ARCHITECTURE.exe"
; Функция GetNativeSystemInfo получает информацию о текщей системе приложению, которое запущено под WOW64.
; Если функция вызывается из 64-битного приложения, она эквивалентна функции GetSystemInfo.
Section
;System::Alloc 32
System::Alloc 36
Pop $0
System::Call "Kernel32::GetNativeSystemInfo(i) v (r0)"
System::Call "*$0(&i2 .r1)"
System::Free $0
StrCmp $1 0 0 +2
MessageBox MB_OK "PROCESSOR_ARCHITECTURE : INTEL "
StrCmp $1 9 0 +2
MessageBox MB_OK "PROCESSOR_ARCHITECTURE : AMD64"
StrCmp $1 6 0 +2
MessageBox MB_OK "PROCESSOR_ARCHITECTURE : IA64 "
StrCmp $1 0xffff 0 +2
MessageBox MB_OK "PROCESSOR_ARCHITECTURE : UNKNOWN "
SectionEnd
|
|
Последний раз редактировалось MKN, 23-10-2013 в 18:25. Отправлено: 17:45, 23-10-2013 | #622 |
|
Старожил Сообщения: 152
|
Профиль | Отправить PM | Цитировать kotkovets, когда ожидать фикс?
|
|
Отправлено: 23:13, 23-10-2013 | #623 |
|
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата Limonica:
неправильно возвращается значение, возвращаются в стек два значения: Professional и Home Edition с учетом этого факта подправил winver2.nsh p.s исправлена работа в юникодной версии NSIS |
|
|
------- Последний раз редактировалось kotkovets, 15-11-2013 в 20:28. Отправлено: 00:54, 24-10-2013 | #624 |
|
Новый участник Сообщения: 43
|
Профиль | Отправить PM | Цитировать Друзья, заколебался
(( Не понимаю что делать (Вот бесполезный код, собранный специально, чтобы посмотреть в каком порядке идет обработка кода. Мне нужно, чтобы при наличии окон в коде, у меня он обрабатывался последовательно. Т.е. сначала цикл 1, потом вложенный в него цикл 2, потом уже переходил к циклу 3 в следующей функции, у которой роль обрабатывать заданное в 1 и 2 цикле. В первом и втором цикле задаются массивы. Помогите, пожалуйста, или направьте на нужную литературу, да хоть на английском. Может пойму... !include nsDialogs.nsh
!include LogicLib.nsh
Name "nsDialogs Example"
OutFile "nsDialogs Example.exe"
XPStyle on
var Num1
var NumCash
var Dialog
var Label1
var Label2
Page custom test0 test1
Function test0
MessageBox MB_OK "До цикла"
${ForEach} $R6 0 1 + 1
nsDialogs::Create 1018
Pop $Dialog
${If} $Dialog == error
Abort
${EndIf}
${NSD_CreateLabel} 0 0 100% 33u "окно цикла 1 $\n R6=$R6"
Pop $Label1
MessageBox MB_OK "Цикл1 $R6"
StrCpy $Num1 $NumCash
nsDialogs::Show
${ForEach} $R5 0 1 + 1
nsDialogs::Create 1018
Pop $Dialog
${If} $Dialog == error
Abort
${EndIf}
${NSD_CreateLabel} 0 0 100% 33u "окно цикла 2 $\n R5=$R5"
Pop $Label2
MessageBox MB_OK "Цикл2 $R5"
nsDialogs::Show
${Next}
${Next}
FunctionEnd
Function test1
${ForEach} $R7 0 1 + 1
MessageBox MB_OK "Цикл3 $R7"
${Next}
FunctionEnd
Section
SectionEnd
|
|
------- Отправлено: 01:21, 24-10-2013 | #625 |
|
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать Цитата alexfinik:
2. В созданном диалоге разрушать, скрывать или создавать в цикле дочерние элементы диалога.. 3. Функция test1 выполняется при закрытии (выполнении) функции test0 |
|
|
------- Отправлено: 01:45, 24-10-2013 | #626 |
|
Старожил Сообщения: 152
|
Профиль | Отправить PM | Цитировать kotkovets, огромное человеческое спасибо!
|
|
Отправлено: 02:05, 24-10-2013 | #627 |
|
Ветеран Сообщения: 2398
|
Профиль | Отправить PM | Цитировать Разнообразные параметры ОС (версия, Build, SP и пр. )можно определить и с помощью WMI хедера.
Например : ;http://nsis.sourceforge.net/WMI_header
OutFile "OperatingSystemInfo.exe"
!include MUI2.nsh
!include WMI.nsh
!include LogicLib.nsh
!insertmacro MUI_LANGUAGE "English"
Section
; короткое описание версии операционной системы
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem Caption callback_Function
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem Version callback_Function
; последний установленный сервис-пак (строка); если никакой сервис-пак не установлен, пустая строка.
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem CSDVersion callback_Function
; версия сервис-пака
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem ServicePackMajorVersion callback_Function
; подверсия сервис-пака
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem ServicePackMinorVersion callback_Function
; Processor Type
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem BuildType callback_Function
; имя компьютера
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem CSName callback_Function
; зарегистрированный пользователь операционной системы
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem RegisteredUser callback_Function
; идентификатор языка, используемого операционной системой
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem Locale callback_Function
; OSLanguage
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem OSLanguage callback_Function
; тип операционной системы:
; 16 - WIN95, 17 - WIN98, 18 - WINNT, 19 - WINCE
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem OSType callback_Function
SectionEnd
Function callback_Function
#$R0 = result number, $R1 = total results, $R2 = result name
System::Call "user32::OemToChar(t R2, t. r2)"
detailprint "$2"
FunctionEnd
|
|
Последний раз редактировалось MKN, 24-10-2013 в 13:23. Отправлено: 12:31, 24-10-2013 | #628 |
|
Ленивый кусок мяса Сообщения: 1986
|
Профиль | Сайт | Отправить PM | Цитировать Цитата MKN:
![]()
Var WMI_Caption
Var WMI_Version
Var WMI_CSDVersion
Var WMI_ServicePackMajorVersion
Var WMI_ServicePackMinorVersion
Var WMI_BuildType
Var WMI_CSName
Var WMI_RegisteredUser
Var WMI_Locale
Var WMI_OSLanguage
Var WMI_OSType
Var WMI_PushVar
;http://nsis.sourceforge.net/WMI_header
OutFile "OperatingSystemInfo.exe"
!include MUI2.nsh
!include WMI.nsh
!include LogicLib.nsh
!insertmacro MUI_LANGUAGE "English"
Section
; короткое описание версии операционной системы
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem Caption callback_Function
StrCpy $WMI_Caption $WMI_PushVar
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem Version callback_Function
StrCpy $WMI_Version $WMI_PushVar
; последний установленный сервис-пак (строка); если никакой сервис-пак не установлен, пустая строка.
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem CSDVersion callback_Function
StrCpy $WMI_CSDVersion $WMI_PushVar
; версия сервис-пака
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem ServicePackMajorVersion callback_Function
StrCpy $WMI_ServicePackMajorVersion $WMI_PushVar
; подверсия сервис-пака
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem ServicePackMinorVersion callback_Function
StrCpy $WMI_ServicePackMinorVersion $WMI_PushVar
; Processor Type
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem BuildType callback_Function
StrCpy $WMI_BuildType $WMI_PushVar
; имя компьютера
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem CSName callback_Function
StrCpy $WMI_CSName $WMI_PushVar
; зарегистрированный пользователь операционной системы
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem RegisteredUser callback_Function
StrCpy $WMI_RegisteredUser $WMI_PushVar
; идентификатор языка, используемого операционной системой
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem Locale callback_Function
StrCpy $WMI_Locale $WMI_PushVar
; OSLanguage
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem OSLanguage callback_Function
StrCpy $WMI_OSLanguage $WMI_PushVar
; тип операционной системы:
; 16 - WIN95, 17 - WIN98, 18 - WINNT, 19 - WINCE
${WMIGetInfo} root\CIMV2 Win32_OperatingSystem OSType callback_Function
StrCpy $WMI_OSType $WMI_PushVar
###################################################
FileOpen $0 "$EXEDIR\WMI.txt" w
FileWrite $0 "=== OperatingSystemInfo.exe ===$\n"
FileWrite $0 "$\n$$WMI_Caption = $WMI_Caption"
FileWrite $0 "$\n$$WMI_Version = $WMI_Version"
FileWrite $0 "$\n$$WMI_CSDVersion = $WMI_CSDVersion"
FileWrite $0 "$\n$$WMI_ServicePackMajorVersion = $WMI_ServicePackMajorVersion"
FileWrite $0 "$\n$$WMI_ServicePackMinorVersion = $WMI_ServicePackMinorVersion"
FileWrite $0 "$\n$$WMI_BuildType = $WMI_BuildType"
FileWrite $0 "$\n$$WMI_CSName = $WMI_CSName"
FileWrite $0 "$\n$$WMI_RegisteredUser = $WMI_RegisteredUser"
FileWrite $0 "$\n$$WMI_Locale = $WMI_Locale"
FileWrite $0 "$\n$$WMI_OSLanguage = $WMI_OSLanguage"
FileWrite $0 "$\n$$WMI_OSType = $WMI_OSType"
FileClose $0
execshell open "$EXEDIR\WMI.txt"
quit
###################################################
SectionEnd
Function callback_Function
#$R0 = result number, $R1 = total results, $R2 = result name
System::Call "user32::OemToChar(t R2, t. r2)"
detailprint "$2"
StrCpy $WMI_PushVar $2
FunctionEnd
|
|
|
------- Отправлено: 13:12, 24-10-2013 | #629 |
|
Ветеран Сообщения: 1216
|
Профиль | Отправить PM | Цитировать MKN
Цитата:
точнее гибридно.. |
|
|
------- Отправлено: 13:34, 24-10-2013 | #630 |
|
|
Участник сейчас на форуме |
|
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
| Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
| Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 2 | dimadr | Наборы обновлений для Windows XP/2003/Windows 7 | 267 | 14-02-2020 08:25 | |
| [архив].: NSIS - все вопросы :. | kotkovets | Автоматическая установка приложений | 3387 | 09-12-2012 11:56 | |
| Инфо - [ликбез] Помощь начинающим .:[все вопросы]:. часть 1 | jameszero | Наборы обновлений для Windows XP/2003/Windows 7 | 1491 | 22-07-2011 22:42 | |
| Выбор|модернизация процессора .:[все вопросы]:. Часть I | Myxa | Выбор отдельных компонентов компьютера и конфигурации в целом | 1845 | 01-01-2011 19:18 | |
| Вопросы по создателю инсталляций NSIS | MaxDELETE | Программное обеспечение Windows | 14 | 04-07-2007 10:01 | |
|