Ru-Board.club
← Вернуться в раздел «Программы»

» Inno Setup (создание инсталяционных пакетов)

Автор: Gnom3
Дата сообщения: 27.07.2012 17:16

Цитата:
Обновлено 14 Января 2012г.

и не будет обновлено, пока китайцы не обновят. обнвлен только препроцессор, жду обновление самого компилятора.
Автор: alex0413
Дата сообщения: 27.07.2012 19:55
скажите, почему [more=эти][no][Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[Registry]
Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{{1F50AE6F-4690-4BDF-89E4-CF8D162ED7C0}; ValueType: string; ValueName: ConfigInstallType; ValueData: 2; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{{1F50AE6F-4690-4BDF-89E4-CF8D162ED7C0}; ValueType: string; ValueName: ConfigApplicationPath; ValueData: C:\Program Files (x86)\aLLeXUs\Limbo\; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{{1F50AE6F-4690-4BDF-89E4-CF8D162ED7C0}; ValueType: string; ValueName: ConfigGDFBinaryPath; ValueData: C:\Program Files (x86)\aLLeXUs\Limbo\GDF.dll; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{{1F50AE6F-4690-4BDF-89E4-CF8D162ED7C0}; ValueType: string; ValueName: ApplicationId; ValueData: {{7FD5B289-9FAC-4EA2-85C8-68D99EBCB67F}; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{{1F50AE6F-4690-4BDF-89E4-CF8D162ED7C0}; ValueType: string; ValueName: Title; ValueData: Limbo; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{{1F50AE6F-4690-4BDF-89E4-CF8D162ED7C0}; ValueType: string; ValueName: Description; ValueData: Limbo - логическая аркада от студии Playdead. Особенностью игры и ее главного героя является физическое взаимодействие с различными предметами и окружением, с помощью которых можно миновать ловушки и решать головоломки.; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{{1F50AE6F-4690-4BDF-89E4-CF8D162ED7C0}; ValueType: dword; ValueName: Type; ValueData: $00000000; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows\CurrentVersion\GameUX\Games\{{1F50AE6F-4690-4BDF-89E4-CF8D162ED7C0}; ValueType: dword; ValueName: IsSigned; ValueData: $00000001; Flags: uninsdeletevalue uninsdeletekeyifempty
[/no][/more] записи реестра не создаются при установке?

Я пытаюсь добавить игру в Game Explorer Напрямую через реестр. GameuxInstallHelper не устраивает тем, что возрастные категории не отображаются через него.
Автор: unni
Дата сообщения: 28.07.2012 08:30
nik1967, CKILL, YURSHAT всем спасибо, буду пробовать. У меня просто нет сейчас под рукой x64 системы, а когда была, чтобы прога заработала пришлось ручками копировать и регистрировать. Целая эпопея.

Я, честно говоря, не знаю китайская у меня или какая, но мне нравится, главное пашет с Inno Setup IDE. Особенно препроцессор порадовал, т.к. благодаря ему я могу автоматом номер версии в название дистриба включать. Вещь. Всё собирается одним кликом. Осталось вот только до 64 разрядов допилить.

Хотя, конечно, я считаю, что проги нужно в msi паковать, да не знаю чем. Оно всё-таки для винды роднее и там есть свои от этого плюшки.
Автор: MrDum32
Дата сообщения: 29.07.2012 03:12
Как сделать uninstaller как у THETA с убегающим Соником?
Автор: Tekton_2
Дата сообщения: 29.07.2012 11:43
Всем привет.
Вопрос такой:
Попался мне инстал в котором есть основной скрипт main.iss а остальные компоненты разбросаны по папкам.
В каждой папке свой скрипт, который подключается к основному.
С файлами и реестром проблем у меня не возникло.
делал подключение так:

Код: [Files]
#include "Program Files\Files.iss"
[Registry]
#include "REGISTR\registr.iss"
Автор: rsg16
Дата сообщения: 29.07.2012 12:27
Как сделать проверку текста в файле.
Вот есть файл {app}\cstrike\steam.inf, его содержание:

PatchVersion=1.0.0.72
ProductName=cstrike
appID=240

Это нужно сделать для патча, что если стока PatchVersion = 1.0.0.71 или 1.0.0.70 тогда продолжало установку...
Автор: Shegorat
Дата сообщения: 29.07.2012 13:34
rsg16 13:27 29-07-2012
Цитата:
Как сделать проверку текста в файле.  
Вот есть файл  {app}\cstrike\steam.inf, его содержание:  

PatchVersion=1.0.0.72
ProductName=cstrike
appID=240  

Это нужно сделать для патча, что если стока PatchVersion = 1.0.0.71 или 1.0.0.70 тогда продолжало установку...

Так код ведь простейший [more][Setup]
Appname=MyApp
AppVerName=MyApp
DefaultDirname={pf}\MyApp


[code]

function NextButtonClick(CurPageID: Integer): Boolean;
var
ss: TArrayOfString;
s, file: String;
i, k: Integer;
begin
Result:= True;
if CurPageID = wpSelectDir then begin
file:= WizardForm.DirEdit.Text+'\cstrike\steam.inf';
if not FileExists(file) then begin
MsgBox('В папке установки отсутствует файл "'+file+'". Установка патча невозможна!', mbCriticalError, MB_OK);
Result:= False;
Exit;
end;
LoadStringsFromFile(file, ss);
s:= '';
for i:=0 to GetArrayLength(ss)-1 do begin
if Pos('patchversion', AnsiLowercase(ss[i]))>0 then begin
s:= ss[i];
Break;
end;
end;
if s='' then Exit;
Delete(S, 1, Pos('=', s));
s:= Trim(S);
If (s<>'1.0.0.71')and(s<>'1.0.0.70') then begin
MsgBox('Версия игры '+s+'. Установка патча невозможна!', mbCriticalError, MB_OK);
Result:= False;
end;
end;
end;[/more]

Добавлено:
Tekton_2 12:43 29-07-2012
Цитата:
Как правильно подключить дополнительные скрипты с кодом в секции [code] ?

Нужно вынести код, который используется в нескольких модулях в отдельный модуль и подключать его первым, а потом уже все остальные.
Автор: rsg16
Дата сообщения: 29.07.2012 16:46
Shegorat
спс!
Автор: Sedjyan
Дата сообщения: 29.07.2012 17:47
alex0413
Глянь в личку.
Автор: clemenco
Дата сообщения: 29.07.2012 18:57
От наших китайских друзей
http://restools.hanzify.org/inno/Inno_ISCmplr_Setup120726(7zip).zip

ЗЫ Уже было. Но почему то в шапку, еще не подняли ссылку?
Автор: zuster_andrey
Дата сообщения: 31.07.2012 05:39
Пожскажите как сделать онлайн инсталлятор наподобие скайпа и хрома?


Автор: oXiOneX
Дата сообщения: 31.07.2012 15:34
Ребят, помогите в создании инсталятора для ApexDC++ s16.4. Что нужно уметь делать инсталятору, если так можно выразиться:

В файле Settings/DCPlusPlus.xml

1)Добавление ника (в меню инсталятора) (Пример: http://s003.radikal.ru/i203/1207/ea/5520e1c639d6.png):

<Nick type="string"></Nick>

2)Прописывание абсолютного пути к файлу русификации (settings/):

<LanguageFile type="string">Russian.xml</LanguageFile>

3)Прописывание абсолютного пути к звукам (Sounds/):

<BeepFile type="string">PrivateMessage.wav</BeepFile>
<BeginFile type="string">DownloadBegins.wav</BeginFile>
<FinishedFile type="string">DownloadFinished.wav</FinishedFile>
<SourceFile type="string">AltSourceAdded.wav</SourceFile>
<UploadFile type="string">UploadFinished.wav</UploadFile>
<FakerFile type="string">FakerFound.wav</FakerFile>
<ChatNameFile type="string">MyNickInMainChat.wav</ChatNameFile>
<SoundTTH type="string">FileCorrupted.wav</SoundTTH>
<SoundException type="string">UnhandledException.wav</SoundException>
<SoundHubConnected type="string">HubConnected.wav</SoundHubConnected>
<SoundHubDisconnected type="string">HubDisconnected.wav</SoundHubDisconnected>
<SoundFavUserOnline type="string">FavUser.wav</SoundFavUserOnline>
<SoundFavUserOffline type="string">FavUserDisconnected.wav</SoundFavUserOffline>

4)Прописывание абсолютного пути к предпросмотрщику:

<PreviewApps>
        <Application Name="AVI Preview" Application="AVIPreview.exe" Arguments="%[file]" Extension="avi;divx;mpg;mpeg;vob"/>
    </PreviewApps>
    
5)Выбор папки для шары (в меню инсталятора) (Пример: http://s05.radikal.ru/i178/1207/0c/a131800ecb2e.png):

    <Share>
        <Directory Virtual="Downloads-P2P"></Directory>
    </Share>

6)Выбор директории для скачивания (в меню исталятора) (Пример: http://s05.radikal.ru/i178/1207/0c/a131800ecb2e.png):

<DownloadDirectory type="string"></DownloadDirectory>

7)Добавление ссылки на сайт в инсталляторе и кнопки "Об авторе": http://s05.radikal.ru/i178/1207/63/a6c256b106fe.png

5 и 6 пункты можно объединить в одно окно (не суть важно).

Ссылка на архив: http://narod.ru/disk/58558832001.698cf37d741ff54922eb98cab6ec296e/ApexDC-s16_4_inno.rar.html

Файл DCPlusPlus.xml - http://narod.ru/disk/58668588001.c1cbbc9f34006135f991b60142e24568/DCPlusPlus.xml.html

Поможет кто-нибудь в реализации задумки?
Автор: LordSP
Дата сообщения: 31.07.2012 19:41
А у меня такая проблема: Не могу реализовать 3 условия, по этому коду: procedure CurPageChanged4(CurPageID: Integer);
var
Ver:string;
Build:string;
begin
if RegQueryStringValue(HKLM, 'SOFTWARE\key', 'Version', Ver) and //если есть эти значения то возвращаются их данные
RegQueryStringValue(HKLM, 'SOFTWARE\key', 'AppS', Build) then //если нет пишем "Не определена"
Label7.Caption := Ver + ' ' + Build
else
begin
Label7.Caption := 'Не определена'
if RegQueryStringValue(HKLM, 'SOFTWARE\key', 'AppS', Build) then //А как сделать тут, чтобы если не найдено значение ключа APPS, то просто показываем версию???
Label7.Caption := Ver
end;
end;

Автор: Snoopak96
Дата сообщения: 01.08.2012 17:00
LordSP

Код:
var
Ver:string;
Build:string;
Begin
if (RegQueryStringValue(HKLM, 'SOFTWARE\key', 'Version', Ver)) and (RegQueryStringValue(HKLM, 'SOFTWARE\key', 'AppS', Build)) then WizardForm.WelcomeLabel2.Caption := Ver + ' ' + Build
else if (RegQueryStringValue(HKLM, 'SOFTWARE\key', 'Version', Ver)) and not (RegQueryStringValue(HKLM, 'SOFTWARE\key', 'AppS', Build)) then WizardForm.WelcomeLabel2.Caption := Ver else WizardForm.WelcomeLabel2.Caption := 'Версия не определена';
end;
Автор: oXiOneX
Дата сообщения: 01.08.2012 18:42
Но ты же тут есть - и это главное =D
Автор: LordSP
Дата сообщения: 01.08.2012 19:22
Snoopak96

Спасибо огромное,все получилось, я хотел еще попросить, не мог ли бы ты, показать на простых примерах с MessageBox, как можно реализовывать несколько условий, в интернете базовые примеры, а до конца понять как работает, не могу, именно когда имеется множество условий, помоги пожалуйста
Автор: Snoopak96
Дата сообщения: 02.08.2012 11:15
LordSP
На конкретный вопрос я отвечу, а так что бы учить/объяснять - нет.
Автор: sanechek007
Дата сообщения: 02.08.2012 21:03
подскажите пожалуста соединил два кода на растящение стартовой и финишной страниц, а так же на растяжение smallimage. После компиляции текст не отображается только на финишной странице вот как выглядит финишная страница.

на всех других страницах отображение текста нормальное

вот ссылка на скрипт http://rghost.ru/39545178

P.S. код брал с этого поста http://forum.ru-board.com/topic.cgi?forum=5&topic=35146&start=1280#21 1 и 2-я ссылки
Автор: innonewbie
Дата сообщения: 03.08.2012 09:12
sanechek007, пробуй: http://rghost.ru/39549441; ну ты и "жёстко" скрипты объединяешь
Автор: sanechek007
Дата сообщения: 03.08.2012 15:02
innonewbie
спасибо все работает
я учусь ))
Автор: LordSP
Дата сообщения: 03.08.2012 18:58
Snoopak96
Хорошо а как сделать чтобы если не было значения в 'Apps'-показывалсь Label.caption= Ver,
А если нет значения в 'Version' то Label.Caption= Build?

Добавлено:
И еще:

function NextButtonClick(CurPage: Integer): Boolean;
var
Check:string;
begin
Result:=True;
If CurPage=wpWelcome then
begin
RegQueryStringValue(HKLM, 'SOFTWARE\key', 'Version', Check);
if Check='1.7.2' then // Как тут задать диапазон проверяемой версий, чтобы устанавливалось не ниже этой версии, а только выше: -Так: If Check='1.7.2' and If Check='1.7.1' и т.д, очень долго, можно ли сделать как то так: If Check='1.1.1<>1.7.2,Возможно ли так?
begin
MsgBox('Данное обновление уже установлено ' + Check, mbInformation, MB_OK);
Result:=False;
end;
end;
end;
Автор: Snoopak96
Дата сообщения: 04.08.2012 06:55
LordSP
1)

Цитата:
if (RegQueryStringValue(HKLM, 'SOFTWARE\key', 'Version', Ver)) and (RegQueryStringValue(HKLM, 'SOFTWARE\key', 'AppS', Build)) then WizardForm.WelcomeLabel2.Caption := Ver + ' ' + Build
else if (RegQueryStringValue(HKLM, 'SOFTWARE\key', 'Version', Ver)) and not (RegQueryStringValue(HKLM, 'SOFTWARE\key', 'AppS', Build)) then WizardForm.WelcomeLabel2.Caption := Ver
else if not (RegQueryStringValue(HKLM, 'SOFTWARE\key', 'Version', Ver)) and (RegQueryStringValue(HKLM, 'SOFTWARE\key', 'AppS', Build)) then WizardForm.WelcomeLabel2.Caption := Build
else WizardForm.WelcomeLabel2.Caption := 'Версия не определена';


2) Диапазон задаётся так:

Цитата:
if (Check <= '1.7.2') and (Check >= '1.1.1') then

Автор: namquang93
Дата сообщения: 04.08.2012 15:20
can anyone help me a function to convert GUID to String (in the module for create game explorer shortcut). Some games have already had its own GDF.dll, but the dll has no code to make game task, game task is create in the installation by create a shortcut in the Game Explorer Application Data folder, so I want to create a folder name that is same as GUID. Thanks in advanced
Автор: innonewbie
Дата сообщения: 04.08.2012 18:17
Есть ли способ выполнять прокрутку на InfoBeforePage при WizardForm.InfoBeforeMemo.scrollbars:=ssnone?
Автор: alex0413
Дата сообщения: 04.08.2012 18:26
namquang93
Why you want to create task if you have gdf?
Use GameuxInstallHelper.dll to create task or to add game to Game Explorer with existing gdf file. Here you can look how to add game without gdf(make task), and here how to add using gdf.
Автор: LordSP
Дата сообщения: 04.08.2012 18:39
Snoopak96

function NextButtonClick(CurPage: Integer): Boolean;
var
Check:string;
begin
Result:=True;
If CurPage=wpWelcome then
begin
RegQueryStringValue(HKLM, 'SOFTWARE\Bohemia Interactive Studio\ArmA 2 OA\DayZ', 'Version', Check);
if (Check <= '1.7.2') and (Check >= '1.1.1') then
begin
MsgBox('Ваша модификация уже обновлена до версии ' + Check, mbInformation, MB_OK);
Result:=False;
end;
end;
end;

Хорошо,спасибо, а как допустим если значение в реестре 1.7.2, выдается сообщение что выше текстом, а если к примеру в реестре 1.7.0, выдать другое сообщение, что нельзя поставить текущую версию на версию ниже?
Автор: Snoopak96
Дата сообщения: 04.08.2012 21:29
LordSP
эти условия делаются проще простого, включай голову.
alex0413
А я бы не стал помогать, для всех забугорных хомяков - русские плохие по дефолту, достаточно их любой форум посмотреть.
Автор: LordSP
Дата сообщения: 05.08.2012 05:57
Ну извините меня, кто то может, а кто то и нет
Автор: YURSHAT
Дата сообщения: 05.08.2012 06:01

Цитата:
альтруисты тут перевелись уже давно.

Не перевелись еще богатыри на земле Русской

oXiOneX

Цитата:
Ребят, помогите в создании инсталятора для ApexDC++ s16.4

Держите скриптец http://rghost.ru/43682809

PS. Немного подправил скрипт. Убрал лишний модуль, так в новой версии модуля XML от товарища Shegorat имеется нужная функция.

PSS. За XML модуль спасибки Shegorat
Автор: AntonOVS
Дата сообщения: 06.08.2012 18:21
Помогите пожалуйста со скриптом выключения компьютера после завершения установки:
[more][Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application

[code]
var
ShotCheckBox: TNewCheckBox;

procedure InitializeWizard();
begin
ShotCheckBox := TNewCheckBox.Create(WizardForm);
with ShotCheckBox do
begin
Parent := WizardForm.InstallingPage;
SetBounds(ScaleX(0),ScaleY(65),ScaleX(225),ScaleY(15));
Caption := 'Выключить компьютер после установки';
Checked := true;
end;
end;

procedure CurPageChanged(CurPageID: Integer);
var
res : integer;
begin
if CurPageID=wpFinished then
begin
if ShotCheckBox.Checked then
begin
ShellExec('','shutdown','-s','{win}\System32\',SW_SHOW,ewNoWait,res);
WizardForm.NextButton.OnClick(nil);
end;
end;
end;[/more]
Проблема в том, что если стоит галочка на чекбоксе выключения и при этом отменить установку, то компьютер выключается. Я бы хотел, чтобы он не отключался, а продолжал свою работу. Кнопка отмены установки у меня от ISDone 0.6 (MyCancelButton) Заранее благодарен.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177

Предыдущая тема: поиск


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.