Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 5]
Sanshalay
03-06-2012, 23:06
Хочу что бы после установки запускались файлы по порядку (один запустился, закрылся, следующий запустился и так далее). Сделал вот так вот:
procedure CurStepChanged(CurStep: TSetupStep);
var
ErrorCode: Integer;
begin
if CurStep = ssInstall then
begin
StatusLabel.Caption:= ExpandConstant ('{cm:StatusLabel_Extracting}');
end;
if CurStep = ssPostInstall then
begin
StatusLabel.Caption:= ExpandConstant ('{cm:StatusLabel_Jerseys}');
ShellExec('', ExpandConstant('{app}\Jerseys.bat'),'', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
StatusLabel.Caption:= ExpandConstant ('{cm:StatusLabel_Arenas}');
ShellExec('', ExpandConstant('{app}\Boards.bat'),'', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
StatusLabel.Caption:= ExpandConstant ('{cm:StatusLabel_Ice}');
ShellExec('', ExpandConstant('{app}\Ice.bat'),'', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
end;
end;
Но ничего не запускается. Кто может помочь?
habib2302, при деинициализации инсталлятора временная папка уничтожается всместе со всем содержимым.
ЗЫ. И как вы себе это предствляете? :) Устанавливаете игру сегодня, к примеру, а удаляете через 2 месяца. И все эти два месяца в темпе будеть висеть временная папка :)
GoshaPolo
04-06-2012, 13:16
Вы пишите в HKCU\Software, т.к. именно он является реестром текущего пользователя, а в HKU\текущий пользователь\Software он будет продублирован автоматом самой системой. »
Сейчас проверил и ничего не продублировалось. В HKCU ключ создается, но в HKU ничего не дублируется и соответственно приложение работает некорректно. Как добиться желаемого результата?
R.i.m.s.k.y.
04-06-2012, 14:46
Подскажите, пожалуйста, чего надо в скрипт прописать чтобы в окне UAC не было слова unknown
http://rghost.ru/38467155/image.png
AppName={#AppName}
AppVersion={#SVPVer}{#SVPVerLower}
AppPublisher={#SVPDefDir}
AppPublisherURL=http://www.SVP-Team.com
AppSupportURL=http://www.SVP-Team.com
AppUpdatesURL=http://www.SVP-Team.com
VersionInfoVersion={#SVPRev}
VersionInfoCompany={#AppName}
VersionInfoDescription={#AppName} {#SVPVer}{#SVPVerLower}
VersionInfoTextVersion={#SVPVer}{#SVPVerLower}
Переменные все естественно объявлены
Dark_Delphin
04-06-2012, 19:27
Всем привет.
Подскажите ка кразбить на диски игру, если я покую архиваторами?
R.i.m.s.k.y., вот эти строчки по-моему надо разобрать:
AppPublisher={#SVPDefDir}
AppPublisherURL=http://www.SVP-Team.com
R.i.m.s.k.y.
04-06-2012, 20:45
alert30, не-не-не, все нормально, сайт на месте, # define SVPDefDir "SVP" тоже прописано
R.i.m.s.k.y.
04-06-2012, 21:12
alert30, ну а зачем пасту удалил
*R.i.m.s.k.y.*, вот что нашел, давненький ответ:
-----Цитата:-----
If you are using InnoSetup 5.2 or later, there is a signtool parameter you can add to your script.
Here's an excerpt from the InnoSetup documentation:
[Setup]: SignTool Valid values: A name followed by zero or more parameters, space separated
Description: Specifies the name and parameters of the Sign Tool to be used to digitally sign Setup (and Uninstall if SignedUninstaller is set to yes). When Setup has a valid digital signature, users will not see an "unidentified program" warning when launching it.
The specified Sign Tool name and its command have to be defined in the compiler IDE (via the Tools | Configure Sign Tools... menu) or on the compiler command line (via the "/S" parameter), else an error will occur.
The following special sequences may be used in Sign Tool parameters and commands:
$f, replaced by the quoted file name of the file to be signed.
$p, replaced by the Sign Tool parameters.
$q, replaced by a quote, usefull for defining a Sign Tool which contains quotes from the command line.
-----конец цитаты-----
Вопрос не по инно но все же: это оно? (http://msdn.microsoft.com/en-us/library/windows/desktop/aa387764%28v=vs.85%29.aspx)
где его можно скачать отдельно и какие параметры ему рисовать?
R.i.m.s.k.y., боюсь, будешь спрашивать "причем тут это, а не Inno?" :(
SignTool, да это оно. Скачать этот чудный инструмент, цитирую:
This tool is automatically installed with Visual Studio and with the Windows SDK.
А насчет параметров, используется вместо долларов на делением "/" (или наоборот, не знаю).
R.i.m.s.k.y.
04-06-2012, 21:48
alert30, значит оно
у меня канал всего 256к, я не могу позволить себе веб-инсталлеры
aep arse я даже картинки в нете отключаю!
Хотя бы поделитесь, пожалуйста, камрады, рабочим примером интеграции SignTool в Inno чтобы мне день сэкономить на экспериментах
Мурзилку по этой утилите я прочитал, в инно в меню Инструменты - инструменты подписания пошуровал, но все же
R.i.m.s.k.y.
у меня канал всего 256к, я не могу позволить себе веб-инсталлеры »
Будет время скоростью на 8 Мбит/с - скачай с ключом.
Хотя бы поделитесь, пожалуйста, камрады, рабочим примером интеграции SignTool в Inno чтобы мне день сэкономить на экспериментах
Мурзилку по этой утилите я прочитал, в инно в меню Инструменты - инструменты подписания пошуровал, но все же »
Вот это я не понял, Вы это (http://doughennig.blogspot.com/2009/11/executable-signing-with-inno-setup.html) шуровали или выполнили?
Если эта ссылка не работает, то Вот цитата:
As I discussed a couple of years ago, code signing your executables is important for a variety of reasons. Our installation creation tool of choice is Inno Setup and version 5.2.4 released in March 2009 made it easier to sign the setup executable through the new Signtool directive in the [Setup] section.
This directive works like this (assuming you already have a digital certificate):
Run the Inno Setup UI and choose Configure Sign Tools in the Tools menu.
Create a new “sign tool” by clicking Add and specifying a name and the command line to execute your signing application. For example, I created one called “Standard” with the following command line to call Microsoft’s SIGNTOOL.EXE:
"C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\signtool.exe" sign /f CertPath\mycert.pfx /p MyPassword
where CertPath\mycert.pfx is the name and location of the PFX file and MyPassword is the password.
In the [Setup] section of your Inno Setup script (ISS) file, add the following:
SignTool=Standard /d $qStonefield Query Installer$q $f
Specify the name of your “sign tool” in place of “Standard” and a descriptive name for your setup program in place of “Stonefield Query Installer.” $q is an Inno Setup constant representing a quote and $f is a constant containing the name and path of the setup EXE created by Inno Setup.
Now, every time you build your setup using the Inno Setup UI, your setup executable is automatically signed.
However, I also like to build setups as part of a build process, so I call the Inno Setup compiler via the command line. Once I added the SignTool directive in my ISS files, my command line builds failed.
Here’s the solution: you need to add the same “sign tool” definition you did to the UI to the command line. For example:
"C:\Program Files\Inno Setup 5\iscc" "/sStandard=C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\signtool.exe sign /f CertPath\mycert.pfx /p MyPassword $p" sfquery.iss
Now, whether I build using the UI or through a build process, my setup executable is always signed.
[hr]
Я и сам знаю, где находится, но просто решил разобраться: этот или нет?
Sanshalay
05-06-2012, 00:00
Актуальный вопрос: http://forum.oszone.net/post-1927509.html#post1927509
Решил проблему =)
Ivan_009
05-06-2012, 00:53
Небольшой вопрос если я использую ISDone то значение AppID мне нужно или нет зараннее спасибо... :unsure:
R.i.m.s.k.y.
05-06-2012, 07:40
alert30, спасибо
однако ничего у сертификатчиков не потрескается? от 179 до 499 уе за серт
a certificate with prices ranging from $179 USD to $499 USD per year
Johny777
05-06-2012, 11:55
Ivan_009,
AppID никак не связан с ISDone и есть всегда, если ты принудительно не создаёшь создаваемый по умолчанию ключ реестра (CreateUninstallRegKey = no) или деинсталятор (Uninstallable=no)
если AppID не указан, то он берётся автоматом из AppName=
например при AppName=hl2 ключ реестра будет таким
HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\hl2_is1
рекомендую всегда делать настройку AppID и использовать его по двум причинам
1. имя не будет браться из AppName= , а будет твоим уникальным
2. ты каждый раз можешь находить директорию установки игры (если установлена) вот так
AppId=TheBestAppId
DefaultDirName={reg:HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1,InstallLocation|{pf}\MyProgramm}
это удобно, если игру нужно переустановить (скажем сменить озвучку) или если ты делаешь патч
удобно тем, что не нужно указывать куда она установлена
os_my_zone
05-06-2012, 16:36
Здраствуйте.
Как установить определенный файл, если будет выбрано в установщике 2 определенных компонента
Пробовал так: Components: c1 c6
Он видит только 1. и устанавливает файл, но мне нужно, чтобы файл устанавливался, если выделены эти два компонента.
os_my_zone, Components: c1 and c6
Ivan_009
05-06-2012, 22:10
Как в ISVideo.dll v.1.5.0 сделать кнопки Пауза,Старт,Стоп на if CurPageID=wpInstalling then зараннее спасибо... :search:
Johny777
06-06-2012, 00:09
вот тебе Ваня простенькие процедуры :)
назначь сам чему нужно
извиняюсь за изврат со "Стопом", тк процедура ISVideoStop почему-то ничем не отличается от ISVideoPause
procedure Play(Sender: TObject);
begin
ISVideoPlay();
end;
procedure Pause(Sender: TObject);
begin
ISVideoPause();
end;
procedure Stop(Sender: TObject);
begin
ISVideoClose();
ISVideoInit(WizardForm.Handle, ExpandConstant('{tmp}\Video.avi'), ScaleX(65), ScaleY(65), ScaleX(320), ScaleY(200));
ISVideoPause();
end;
наглядный пример в архиве http://sendfile.su/608592
на if CurPageID=wpInstalling »
ну запускаешь видео на странице установки строкой
ISVideoInit(WizardForm.Handle, ExpandConstant('{tmp}\Video.avi'), ScaleX(65), ScaleY(65), ScaleX(320), ScaleY(200));
рекомендую извлекать видео на шаге ssinstall, те перед установкой
там же кнопки делаешь или чем ты управляешь действиями
Dark_Delphin
06-06-2012, 13:20
Всем привет.
Подскажите ка кразбить на диски игру, если я пакую архиваторами?
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.