[архив] Inno Setup .:[все вопросы]:.

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

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение snark »

Цитата fox_cub:



Столкнулся с проблемой распаковки инсталляторов созданных последней версией...
[архив] Inno Setup .:[все вопросы]:.




Если было упаковано 5.2.3 версией, то innounp 0.20, тестовый билд от 27.10.07, не распакует его. Новой версии на данный момент нет, к сожалению, а разработчик что-то давно не шевелится.
Аватара пользователя
ChVL

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение ChVL »

snark,

Спасибо за деятельное участие.

Ещё. Как построить процедуру введения в скрипт внешних данных через ключ? Например, необходимо ввести в реестр регистрационные данные, которые у каждого пользователя программой свои. Понятно, что для внутреннего использования всё вводится прямо в скрипт.
Аватара пользователя
jameszero

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение jameszero »

ChVL

Если предусматривать поля для ввода регистрационных данных во время установки, то нужно будет "рисовать" эти поля в секции

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

, не скажу, что это просто... мануалы почитать придётся.



А с помощью ключей установки регистрацию можно реализовать так:



В скрипт добавляется секция [code]


 
 Код: [url=#][/url]
 [code][code]
function GetSerial(Param: String): String;
begin
if ExpandConstant('{param:SERIAL}') = '' then
Result := ExpandConstant('{cm:DemoSerial}')
else Result := ExpandConstant('{param:SERIAL}')
end;
function GetName(Param: String): String;
begin
if ExpandConstant('{param:USER}') = '' then
Result := ExpandConstant('{sysuserinfoname}')
else Result := ExpandConstant('{param:USER}')
end;
function GetOrganisation(Param: String): String;
begin
if ExpandConstant('{param:COMPANY}') = '' then
Result := ExpandConstant('{sysuserinfoorg}')
else Result := ExpandConstant('{param:COMPANY}')
end;

В [CustomMessages] и [Registry] добавляется



Код:

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

[CustomMessages]
DemoSerial=1111-2222-3333-4444
[Registry]
Root: HKLM; SubKey: SOFTWARE\Program; ValueType: string; ValueName: Serial; ValueData: {code:GetSerial}
Root: HKLM; SubKey: SOFTWARE\Program; ValueType: string; ValueName: User; ValueData: {code:GetName}
Root: HKLM; SubKey: SOFTWARE\Program; ValueType: string; ValueName: Company; ValueData: {code:GetOrganisation}

Установка программы с регистрацией:



program.exe /SERIAL=9999-8888-7777-6666 /USER=Pupkin /COMPANY=Home



При установке программы без ключей, подхватится демонстрационный серийный номер из секции [CustomMessages], а имя пользователя и название организации будут взяты системные из Windows
Аватара пользователя
ChVL

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение ChVL »

Представляю Вашему вниманию полный комплект Inno Setup.

В сборку входят следующие компоненты:

Inno Setup compiler 5.2.2 русская версия;

ISTool 5.2.1 русская версия;

Inno Script Generator английская версия;

Inno Setup Unpacker Explorer 1.0 аглийская версия;

Примечание: в Inno Setup Unpacker Explorer 1.0 заменён innounp.exe на тестовую версию 2.0, так что распаковывает инсталляторы вплоть до версии 5.2.2.

Есть возможность выбора компонентов.

Не предусмотрена деинсталляция отдельных компонентов, только всех сразу (пока не знаю как сделать).

Скачать:
ifolder
,
RapidShare
,
iBox
(Размер: 5.34 Mb).
Аватара пользователя
jameszero

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение jameszero »

ChVL


Цитата:



если б ещё без ключей прописывалось "демонстрационное" имя



Если я правильно понял вопрос, то это делается по аналогии с серийным номером.

При отсутствии ключа /USER, в реестр пропишется слово Tester



Код:

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

[CustomMessages]
DemoSerial=1111-2222-3333-4444
DemoName=Tester
[code]
function GetSerial(Param: String): String;
begin
if ExpandConstant('{param:SERIAL}') = '' then
Result := ExpandConstant('{cm:DemoSerial}')
else Result := ExpandConstant('{param:SERIAL}')
end;
function GetName(Param: String): String;
begin
if ExpandConstant('{param:USER}') = '' then
Result := ExpandConstant('{cm:DemoName}')
else Result := ExpandConstant('{param:USER}')
end;
...
Аватара пользователя
snark

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение snark »

SamLab, можно перепаковать инсталлятор, убрав запуск после установки (хотя бы отменить умолчание)Изображение

Иначе taskkill.
Аватара пользователя
unikum111

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение unikum111 »

!!! всем привет!!! Подскажите пожалуйста, как прописать в скрипте,

чтобы при установке проги или игры, инстоллятор сканировал все жеские диски?

Заранее спасибо!
Аватара пользователя
boss911

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение boss911 »

SamLab, у меня есть готовый скрипт
Аватара пользователя
unikum111

Re: [архив] Inno Setup .:[все вопросы]:.

Сообщение unikum111 »

Подскажите, пожалуйста, каким образом можно извлечь из инсталлятора секцию

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

? При распаковке инсталлятора в папке "embended" появляется файл CompiledCode.bin, как его расшифровать не понятно, а в самом извлечённом скрипте секция [code] отсутствует.
Ответить

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