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

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

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

Сообщение usermode »

Цитата Chudmin:



Нашёл я свою ошибку, Splash-заставка отработала, а вот taskkill нет.
Скрипты Inno Setup. Помощь и советы [часть 9]




Ну попробуйте повесить taskkill на иконку заставки или на другие файлы, которые загружаются первыми.

Вполне возможно, что команда извлечения ExtractTemporaryFile действует принудительно, в обход стандартного функционала инсталлятора и поэтому флаги из секции [Files] не отрабатывают. По-моему так и есть, флаги там работают только при стандартных действиях инсталлятора, т.е. при нажатии кнопки Install на конечном этапе. А у вас до этого не доходит и вы вызываете Taskkill до запуска инсталлятора из секции [ Code ] программы.



Поэтому нужно искать другое решение, т.е. как-то вызывать taskkill из кода программы, либо подключать библиотеку taskkill.dll или KillProc.dll и вызывать его через [external 'KillProcByExeName@files:KillProc.dll stdcall], как недавно выкладывал код boss911

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


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


здесь:
Скрипты Inno Setup. Помощь и советы [часть 9]
Аватара пользователя
Coломoн Keйн

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

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

Цитата ErikPshat:



Поэтому нужно искать другое решение, т.е. как-то вызывать taskkill из кода программы, либо подключать библиотеку taskkill.dll или KillProc.dll и вызывать его через [external 'KillProcByExeName@files:KillProc.dll stdcall], как недавно выкладывал код boss911 здесь:
http://forum.oszone.net/thread-33414...essage_2836987
Скрипты Inno Setup. Помощь и советы [часть 9]




Да, буду думать-экспериментировать.
Аватара пользователя
usermode

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

Сообщение usermode »

Цитата AnastasiyaM:



Только bat файл запрашивает пароль нового пользователя, когда запускает что-то от его имени (без пароля отказывается работать). Есть ли способ, как ему его передать в инсталятор?
Скрипты Inno Setup. Помощь и советы [часть 9]




Это Вам надо «местных» коллег, специалистов по InnoSetup Pascal Scripting, озадачить данным вопросом, дабы подсказали.
Аватара пользователя
Coломoн Keйн

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

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

Цитата AnastasiyaM:



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




Скорее всего созданный пользователь не является Администратором и не имеет прав. Вам нужно нового пользователя назначить Администратором компьютера. Может быть как-то так получится:



Код:

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

@echo Добавление нового пользователя
@echo off
 set user_name=Vasia_Pupkin
 set user_passw=12345678
echo.
echo 1. Добавление нового пользователя 
 net user %user_name% %user_passw% /add /expires:never /fullname:%user_name%
echo.
echo 2. Обновление свойств пользователя
echo.
 wmic path UserAccount where "Name='%user_name%'" set PasswordExpires=false /nointeractive
echo.
echo 3. Добавление в группу "Администраторы" и удаление из "Пользователя"
 net localgroup "Администраторы" %user_name% /add
 net localgroup "Пользователи" %user_name% /delete
@pause
Аватара пользователя
usermode

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

Сообщение usermode »

ErikPshat, чего, кого?




Цитата ErikPshat:



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




И не должен являться. Этого не требуется ни по условию техзадания, ни для реализации.




Цитата ErikPshat:



Вам нужно нового пользователя назначить Администратором компьютера.
Скрипты Inno Setup. Помощь и советы [часть 9]




Не нужно. Совсем. И этого не требуется ни по условию техзадания, ни для реализации.



Нужно: реализация на InnoSetup Pascal Scripting функции CreateProcessAsUser/CreateProcessWithLogon.
Аватара пользователя
Sotonisto

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

Сообщение Sotonisto »

Доброго всем вечера.

Будьте добры, подскажите, как реализовать сплеш с использованием botva2? Попытался сделать так, но содержимое формы не отображается (хотя при ShowModal все отображалось корректно):

И еще один вопрос: существует ли способ выровнять текст по правому краю? Например, как размещение по центру при помощи taCenter.
Аватара пользователя
ZVSRus

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

Сообщение ZVSRus »

Цитата ErikPshat:



Iska, ну я написал код батника, можно всё перенести в код Inno Setup.

А почему тогда, при создании нового пользователя, после запуска батника, требует ввод пароля?

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




Iska прав, задача создать пользователя и прописать ему ключи в реестр. Но так как у нового пользователь нет профиля, пока в него никто не логинился, я пытаюсь запустить от его имени какой-то процесс. Пароль просит именно нового пользователя. Если создавать пользователя без пароля, то ranas команда вообще отказывается работать Изображение
Аватара пользователя
Sotonisto

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

Сообщение Sotonisto »

ZVSRus, благодарю. Я понятия не имел, что к taRight и taLeft необходимо добавить Justify.
Аватара пользователя
pollipen

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

Сообщение pollipen »

ErikPshat, нужен обязательно бесправный пользователь.


Цитата ErikPshat:



3. Делает пользователя Админом и даёт права на выполнение действий без ввода пароля.
Скрипты Inno Setup. Помощь и советы [часть 9]




Даже если он еще никогда не логинился? Я попробовала вставить Ваш код, он все равно пароль запросил и я пошла искать другие способы. Может что-то не так сделала..



Я пока сделала такой костыль в секции



Код:

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

[Code]
Exec(ExpandConstant('runas'), ' /user:MyUser cmd.exe', '', SW_SHOWNORMAL, ewWaitUntilTerminated, ErrorCode);

теперь во время установки сообщение командной строки с запросом пароля появляется на экране. Не идеально, но работает Изображение
Аватара пользователя
habib2302

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

Сообщение habib2302 »

pollipen, мы по вашему экстрасенсы? скрипт в студию!
Ответить

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