Показать полную графическую версию : SFX Creator 4 Alpha - создаём SFX архивы
Скрипт распаковки файлов в определённую директорию »
SetOutPath "$INSTDIR"
File /r "C:\Users\admin\Рабочий стол\TEST\*.*"
Распаковать все файлы из папки TEST на рабочем столе в директорию $INSTDIR
Limonica
16-08-2012, 13:18
Нет это не совсем подходит, поскольку всё равно сначало идёт распаковка, но всё равно спасибо. В идеале должно было выглядеть так:
1. Проверка на месте ли файл, если на месте то идёт установка, если нет заканчивает свою работу.
2. На случай если файл отсутствует, только после этого файлы распаковываются, заносятся значения в реестр, запускается исполняемый файл.
Можно ли это реализовать, именно в этой последовательности?
если на месте то идёт установка, если нет заканчивает свою работу »
На случай если файл отсутствует, только после этого файлы распаковываются »
Вы определитесь, что делать при отсутствии файла...
В первом пункте вы пишите, если файла нет - закрывать инсталлятор
Во втором вы пишите, если файла нет - продолжаем работу
Limonica
16-08-2012, 13:51
Ой небольшая ошибка, правельный второй вариант =) , вот таким способом:
IfFileExists "$INSTDIR\test.exe" 0 NoFile
Quit
NoFile:
........
........
Limonica
16-08-2012, 14:17
Limonica, значит на днях выпущу ещё одно обновление, с добавлением данного переключателя, так сказать, чтобы было всё официально »
Ждёмс =)
Limonica
16-08-2012, 14:34
Будьте добры, покажите как должна выглядеть команда переименования файла?
Будьте добры, покажите как должна выглядеть команда переименования файла? »
Rename "$INSTDIR\Старое имя.exe" "$INSTDIR\Новое имя.exe"
Если конечная директория будет отличаться от начальной, то файл будет перемещен
Limonica
16-08-2012, 16:06
вопрос, почему при использовании команды sc config test displayname= "Hello World" в командной строке Windows имя службы изменяется сразу, а при ручной замене этого параметра или использовании скрипта WriteRegStr, только после перезагрузки, хотя вреестре все значения поменялись, служба в момент переименования неактивна. SC использует какойто особенный алгоритм и есть ли в NSIS что то подобное
а при ручной замене этого параметра или использовании скрипта WriteRegStr, только после перезагрузки »
Возможно, система обновляет информацию о службах после перезагрузки, если изменения были сделанны именно данным способом, честно говоря, не задавался данным вопросом и ответа не знаю
есть ли в NSIS что то подобное? »
Попробуйте NSIS Simple Service Plugin (http://nsis.sourceforge.net/NSIS_Simple_Service_Plugin)
Limonica
16-08-2012, 16:54
При использовании этого плагина, происходит ошибка при запуске уже собранного распаковщика, на моменте выполнения команды:
SimpleSC::InstallService test test
Конкретно команды редактирования службы, в часности DisplayName я ненашла, только создание новой службы.
происходит ошибка при запуске уже собранного распаковщика »
Там же ниже написаны примеры...Вы мало параметров передаёте плагину...
SimpleSC::InstallService "MyService" "My Service Display Name" "16" "2" "C:\MyPath\MyService.exe" "" "" ""
Limonica
16-08-2012, 17:35
Хмм, в таком формате, даже не создаёт службу:
SimpleSC::InstallService "service" "TEST" "110" "2" "%ProgramFiles\test\test.exe" "" "" ""
Откуда вы взяли цифру 110?
Допустимые значения:
1 - SERVICE_KERNEL_DRIVER - Driver service.
2 - SERVICE_FILE_SYSTEM_DRIVER - File system driver service.
16 - SERVICE_WIN32_OWN_PROCESS - Service that runs in its own process. (Should be used in most cases)
32 - SERVICE_WIN32_SHARE_PROCESS - Service that shares a process with one or more other services.
256 - SERVICE_INTERACTIVE_PROCESS - The service can interact with the desktop.
"%ProgramFiles\test\test.exe
Либо добавьте символ % в конец переменной, либо замените первый процент на символ NSIS переменной
Читайте внимательно описание плагина
Limonica
16-08-2012, 20:04
Все получилось, большое спасибо.
Кстатие 110 в шестнадцатиричной оказалось 272 в десятеричной.
Правильно ли я понял, чтобы сделать возможность выбора компонентов перед распаковкой, нужно добавить свой NSIS скрипт? Большое спасибо за ответ.
GLUM890, нет...
Вам необходимо:
1. Добавить файлы в проект
2. Зайти в диалог "Управление проектами"
3. Нажать иконку "Подключение графического интерфейса" (рядом с большой кнопкой сохранениея проекта)
4. В главных настройках графического интерфейса отметить галочки "Задействовать UI оболочку" и "Выбор компонентов"
5. Нажать на радиокнопку "Компоненты"
И там далее, создать необходимые вам компоненты и "раскидать" файлы и команды по компонентам
Если файлы/команды не отнести к созданным компонентам, то не добавленные данные будут обработаны после обработки всех компонентов
K.A.V., в этой версии, есть функция, что-то типа вот такое? Не обращаю внимание к красно-прямоугольным обозначением.
http://savepic.su/2317003m.png (http://savepic.su/2317003.htm)
K.A.V., в этой версии, есть функция, что-то типа вот такое? »
Не понял, что вы имеете ввиду...
Изменить текст или вам нужно отобразить диалог выбора каталога??
Или вам нужно картинку слева отобразить?
K.A.V., чтобы пользователи смогли ставить галочку, какой ярлык создаем. На скриншоте написано: "Ярлыки программы", и пользователь сам думает, какой ярлык впишем/создаем: в меню Пуск, на рабочем столе, в панели быстрого запуска или все трое. А в этой SFX Creator не могу найти. :(
P.S. Скриншот не мой.
K.A.V., чтобы пользователи смогли ставить галочку, какой ярлык создаем »
SFX Creator не поддерживает отображение "собственных страничек"
Можно только принудительно создать ярлыки без запроса пользователю
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC