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

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

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

Сообщение alex2010 »

Всё это легко можно здалать знающим Паскаль в секции [соdе], только Serega, пропал кудато и занят,

а все остальные спят тут. :\




Цитата mash:



Или такой вопрос, можно ли сделать чтоб инсталлятор считывал значение в реестре
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




RegQueryStringValue()


Цитата mash:



и запускал файл rus.reg
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




Exec(), ShellExecute() и всякие If, Then итп. я в этом сам не орентируюсь Изображение



В справке почитай:

Pascal Scripting /Support Functions Reference

жаль там примеров кот наплакал. Изображение
Аватара пользователя
superalex

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

Сообщение superalex »

Цитата mash:



Или такой вопрос, можно ли сделать чтоб инсталлятор считывал значение в реестре, например
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]






Код:

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

[Files]
Source: Reg.reg; DestDir: {tmp}; AfterInstall: NLS
[_Code]
Procedure NLS();
Var NLS1: string; res : integer;
begin
  RegQueryStringValue(HKLM, 'SYSTEM\CurrentControlSet\Control\Nls\CodePage','10001', NLS1);
  if NLS1  'www' then Exec('reg.exe', ' import ' + ' ' + AddQuotes(ExpandConstant('{tmp}\reg.reg')),ExpandConstant('{tmp}'),SW_HIDE, ewWaitUntilTerminated, res);
end;

Примерно так.



А по первому вопросу я без понятия, как через код сказать инно, что хорошо бы в конце ребутнуться.




Цитата semiono:



жаль там примеров кот наплакал
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




Зато в шапке темы примеров полно!
Аватара пользователя
EN130

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

Сообщение EN130 »

Я пытаюсь скомпилировать скрипт в приложении Inno Setup Compiler, а мне пишет такую ошибку.

http://s52.radikal.ru/i137/1005/b0/0bc836008b24.jpg


А на демо-скрипте все работает нормальна. Почему так?


читать дальше »




; Script generated by the Ìàñòåð Inno Setup Script.

; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!



#define MyAppName "Äåìèóðãè"

#define MyAppVerName "Äåìèóðãè: Äèëîãèÿ"

#define MyAppPublisher "EN130"

#define MyAppURL "
www.usde.ru
"

#define MyAppExeName "Etherlords.exe"



[Setup]

; NOTE: The value of AppId uniquely identifies this application.

; Do not use the same AppId value in installers for other applications.

; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)

AppId={{BC18E1BB-6FDD-4BAE-8294-BAA87CED7F6E}

AppName={#MyAppName}

AppVerName={#MyAppVerName}

AppPublisher={#MyAppPublisher}

AppPublisherURL={#MyAppURL}

AppSupportURL={#MyAppURL}

AppUpdatesURL={#MyAppURL}

DefaultDirName={pf}\{#MyAppName}

DefaultGroupName=Äåìèóðãè: Äèëîãèÿ

AllowNoIcons=yes

LicenseFile=F:\ðàáîòà\Ëèöåíçèîííîå ñîãëàøåíèå.rtf

InfoAfterFile=F:\ðàáîòà\1.txt

OutputDir=F:\ðàáîòà\123

OutputBaseFilename=setup

SetupIconFile=F:\ðàáîòà\ico.ico

Compression=lzma

SolidCompression=yes



[Languages]

Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"



[Tasks]

Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked



[Files]

Source: "F:\ðàáîòà\Etherlords\Äåìèóðãè\Etherlords.exe"; DestDir: "{app}"; Flags: ignoreversion

Source: "F:\ðàáîòà\Etherlords\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs

; NOTE: Don't use "Flags: ignoreversion" on any shared system files



[Icons]

Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"

Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"

Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon



[Run]

Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, "&", "&&")}}"; Flags: nowait postinstall skipifsilent





Не пинайте новичка за тупой вопрос
Аватара пользователя
gvshil

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

Сообщение gvshil »

Цитата konder1995:



я чайник сильно не ругайте
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




Это видно раз мастером делали. А вот за то что ошибку не написали - поругаем. Ласково пожурим и за портянку кода - такой код надо заключать в теги [СODE] [/СODE]





Код:

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

[Tasks]
Name: desktopicon; Description: Поместить ярлык на рабочий стол;  GroupDescription: Дополнительные ярлыки; Flags: unchecked

Секция [Icons] нормально написана на первый взгляд, должно помещаться все. Птичкой отмечаем нужную галку при инсталляции? А то секция [Tasks] была не очень хорошо написана, на отдельной странице задач было все верно написано? А то может там и непонятно что требуется.



Я не играл в Tom Clancy's Rainbow Six Vegas, но где у него должен правильно лежать запускной экзешник? В Binaries? судя по [Files] он кладется в папку {pf}\Tom Clancy's Rainbow Six Vegas и оттуда запускается, на него и ярлыки. Не есть гуд и переименовывать запускные экзешники.





Код:

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

[Run]
Filename: {app}\R6Vegas_Game(tanik).exe; Description: Запустить Tom Clancy's Rainbow Six Vegas; Flags: shellexec postinstall skipifsilent

Примерно так.
Аватара пользователя
EN130

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

Сообщение EN130 »

Цитата R.i.m.s.k.y.:



А по первому вопросу я без понятия, как через код сказать инно, что хорошо бы в конце ребутнуться.
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




if NLS1 'www' then Exec('shutdown.exe', '-r -f -t 00...

Изображение



Посмотрите мой вопрос, пожалууста?
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]


Ато всё дело стало. Если нет решения так нет. Буду батники тогда ваять. Изображение



Если даже взять BINARY данные, то из реестра они в файл пишуться как квадраты,

значится надо конвертировать это перед записью в файл?

Хотяб с REG_BINARY подскажите, если уж REG_NONE действительно проблемно.
Аватара пользователя
MaxHacker

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

Сообщение MaxHacker »

MaxHacker,
Цитата:



есть дизассемблер Innerfuse/RemObjects Pascal Script. Код на выходе получается не особенно красивый, но при желании понять можно.



сообщение вот:
http://forum.ru-board.com/topic.cgi?...1&start=240#19
Аватара пользователя
dimon135

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

Сообщение dimon135 »

Цитата konder1995:



как сделать так чтоб программу можно было запускать через меню пуск?
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




Name: "{userprograms}\Miranda"; Filename: "{pf}\Miranda\Miranda.exe"; WorkingDir: "{pf}\Miranda"; IconFilename: "{pf}\Miranda\Miranda.ico"; Comment: "Miranda"




Цитата konder1995:



как задать запуску и удаленю иконки
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




так же
Аватара пользователя
BaRSPRO

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

Сообщение BaRSPRO »

Цитата semiono:



if NLS1 'www' then Exec('shutdown.exe', '-r -f -t 00
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




Некрасиво. А если сетуп не успеет закончить свои делы и команда ребутнет комп? Надо грамотно - чтобы инсталлер сам предложил перегрузится.




Цитата semiono:



Посмотрите мой вопрос, пожалууста
[архив] Скрипты Inno Setup. Помощь и советы [часть 2]




Смотрел, все что мог сказать по этому вопросу я уже сказал. Не знаю я как инно дружит с Reg_none & Reg_Binary. Когда мне надо какой-нить экзот занести в реестр, я ключ из реестра импортирую в рег-файлик, потом через ISTool его импортирую и смотрю как он получился в коде инно, дальше уже смотрю что там есть.

А вот что пишет справка инно про типы регданных



Код:

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

The data type of the value. This must be one of the following:
none
string
expandsz
multisz
dword
qword
binary
If none (the default setting) is specified, Setup will create the key but not a value. In this case the ValueName and ValueData parameters are ignored.
If string is specified, Setup will create a string (REG_SZ) value.
If expandsz is specified, Setup will create an expand-string (REG_EXPAND_SZ) value.
If multisz is specified, Setup will create an multi-string (REG_MULTI_SZ) value.
If dword is specified, Setup will create a 32-bit integer (REG_DWORD) value.
If qword is specified, Setup will create a 64-bit integer (REG_QWORD) value.
If binary is specified, Setup will create a binary (REG_BINARY) value.

Reg_None нету в перечне.
Аватара пользователя
vint56

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

Сообщение vint56 »

BaRSPRO, сделай вот так #define ArcLocation "{src}\Data\*.bin" а ошибка выходит там еще есть файл родной setup-1.bin он его пытается распаковать потому ошибка
Аватара пользователя
vint56

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

Сообщение vint56 »

vint56, сделал как вы писали, не чего не получилось, распаковка не идет, а setup-1.bin я не нашел!
Ответить

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