Скрипты Inno Setup. Помощь и советы [часть 9]

Ответить
 • Просмотры: 21
Аватара пользователя
El Sanchez

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение El Sanchez »

Цитата AnastasiyaM:



Есть задача, при установке программы создавать нового пользователя windows и добавлять программу в автозагрузку только ему (во время установки программы но не является текущим пользователем.) Пробовала получать SID пользователя после создания, но видимо из-за нехватки опыта получается какая-то ерунда. Выкладываю свои попытки, может подскажете как можно поправить?
Скрипты Inno Setup. Помощь и советы [часть 9]




В общем, не смогла победить задачу средствами инсталлятора, сделала bat файл, который находит SID и прописывает в автозапуск программу. Теперь новая проблема. Если запускаю свой bat в новом пользователе, то он успешно отрабатывает. А если в том пользователе, под которым создаю нового, то пишет "неверный параметр". В связи с этим ломаю теперь голову над задачей:

1. установить программу

2. создать попутно нового пользователя

3. перезагрузить систему и зайти под новым пользователем

4. запустить bat файл.

И это все должен делать инсталлятор.

Видела примеры как делают продолжение установки после перезагрузки, но очень слабо понимаю, что куда там нужно вписать (

Буду очень благодарна за советы, примеры, объяснения
Аватара пользователя
Sotonisto

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение Sotonisto »

Доброго времени суток. Будьте добры подскажите:

1. Как изменить цвет текста лицензионного соглашения? WizardForm.LicenseMemo.Font.Color не даёт никакого эффекта.

2. Существует ли способ разместить текст на Splash изображении?

3. Можно ли в WizardForm.ComponentsList добавить название колонок (как в таблицах)? По сути над списком чекбоксов должна размещаться линия, поделенная на 3 "колонки", такого вида: [ Пустая ячейка | Компоненты | Размер компонента].
Аватара пользователя
El Sanchez

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение El Sanchez »

Цитата Iska:



AnastasiyaM, в Вашем случае пользователя мало создать: у новосозданного пользователя отсутствует профиль. Просто запустите программно какое-либо приложение от имени новосозданного пользователя, дождитесь его завершения, и только затем пытайтесь что-либо делать с его разделами реестра или путями в его профиле.
Скрипты Inno Setup. Помощь и советы [часть 9]




Большое спасибо за совет, буду копать в этом направлении!
Аватара пользователя
Sotonisto

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение Sotonisto »

Цитата AnastasiyaM:



В общем, не смогла победить задачу средствами инсталлятора, сделала bat файл, который находит SID и прописывает в автозапуск программу. Теперь новая проблема. Если запускаю свой bat в новом пользователе, то он успешно отрабатывает. А если в том пользователе, под которым создаю нового, то пишет "неверный параметр". В связи с этим ломаю теперь голову над задачей:
Скрипты Inno Setup. Помощь и советы [часть 9]




Это уже называется вирусописание, а не инсталлятор )))
Аватара пользователя
El Sanchez

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение El Sanchez »

Цитата ErikPshat:



Таким образом, при запуске программы сразу извлекаются файлы заставки в %TEMP% и запускается заставка перед стартом инсталлятора, но ещё перед этим, запускается убийца процесса, потому что на файл заставки выставлен флаг BeforeInstall.
Скрипты Inno Setup. Помощь и советы [часть 9]




При компиляции выдаёт ошибку на строке " Splash();" - Unknown identifier 'Splash'.
Аватара пользователя
usermode

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение usermode »

Цитата Chudmin:



При компиляции выдаёт ошибку на строке " Splash();" - Unknown identifier 'Splash'.
Скрипты Inno Setup. Помощь и советы [часть 9]




Ой, забыл добавить код извлечния ))) мы же 2 файла только добавилив в [Files], чтобы программа паковала их и таскала с собой. А кто извлекать файлы будет, чтобы они заработали? Они в нужный момент в нужной части кода должны извлекаться командой ExtractTemporaryFile и следом запускать отображение заставки.



Вот, нужно ещё код извлечения и активации нужно добавить в подходящее вам место:



Код:

Код: Выделить всё

{ Splash заставка }
procedure Splash();
begin
  ExtractTemporaryFile('Splash.png');
  ShowSplashScreen(WizardForm.Handle,ExpandConstant('{tmp}\Splash.png'),500,800,500,0,255,True,$FFFFFF,10);
end;

Если что, DLL-ку isgsg.dll Splash-заставки залил во вложение. Картинку с прозрачностью Splash.png свою добавите.
Аватара пользователя
Sotonisto

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение Sotonisto »

Цитата ErikPshat:



Вот, нужно ещё код извлечения и активации нужно добавить в подходящее вам место:
Скрипты Inno Setup. Помощь и советы [часть 9]




Спасибо за отзывчивость! Но похоже сначала мне нужно в секции "Коде" изучить азы, что за что отвечает, и как правильно это пишется, а то выходит ошибка (как и сейчас), а я вообще ничего не понимаю, от слова совсем. Не буду же по каждому пустяку просить людей, чтобы мне разжевали и в рот положили.



Дайте совет, что, где почитать в этом направлении, чтобы хоть что-то понимать?
Аватара пользователя
El Sanchez

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение El Sanchez »

Chudmin, ну так в Inno Script Studio нажмите в меню Помощь -> Документация Inno Setup и изучайте.

Используется Pascal, простейший язык для изучения.



Я именно со справки и начинал. Когда делал свою первую программу, сутки посидел, поискал решения своих задач, так там всё и нашёл, там много примеров практически по всем направлениям, собранных по вопросам и ответам на форумах. Ну и за сутки я практически освоил все приёмы по кодингу в этой программе.

Скачайте последнюю версию русской справки:
http://krinkels.org/threads/russkaja...no-setup.2083/


Замените CHM в папке с программой C:\Program Files (x86)\Inno Setup 5\

Посмотрите сборник скриптов и примеров:
http://krinkels.org/threads/faq-po-inno-setup.7/


Покомпилируйте готовые рабочие скрипты:
http://krinkels.org/forums/skripty-dlja-inno-setup.256/


Ну и на их примере попытайтесь сделать что-нибудь своё.
Аватара пользователя
habib2302

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение habib2302 »

Цитата ErikPshat:



Используется Pascal, простейший язык для изучения.
Скрипты Inno Setup. Помощь и советы [часть 9]




Нашёл я свою ошибку, Splash-заставка отработала, а вот taskkill нет.
Аватара пользователя
Coломoн Keйн

Re: Скрипты Inno Setup. Помощь и советы [часть 9]

Сообщение Coломoн Keйн »

Цитата Iska:



AnastasiyaM, в Вашем случае пользователя мало создать: у новосозданного пользователя отсутствует профиль. Просто запустите программно какое-либо приложение от имени новосозданного пользователя, дождитесь его завершения, и только затем пытайтесь что-либо делать с его разделами реестра или путями в его профиле.
Скрипты Inno Setup. Помощь и советы [часть 9]




Еще раз спасибо, почти получилось сотворить чудо.

Только bat файл запрашивает пароль нового пользователя, когда запускает что-то от его имени (без пароля отказывается работать). Есть ли способ, как ему его передать в инсталятор? что то вроде Filename: cmd.exe; parameters: "{app}\my.bat %pas"; ?




Цитата ErikPshat:



Это уже называется вирусописание, а не инсталлятор )))
Скрипты Inno Setup. Помощь и советы [часть 9]




не Изображение специфические требования Изображение
Ответить

Вернуться в «Автоматическая установка приложений»