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

Ответить
 • Просмотры: 10
Аватара пользователя
adelina.dragonborn@vk

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

Сообщение adelina.dragonborn@vk »

Цитата Fakt_37:



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





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




Код:

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

[Code]
var
  OpenURL: TNewStaticText;
  ErrorOpenURL: Integer;
procedure OpenURLClick(Sender: TObject); forward;
procedure InitializeWizard();
begin
  OpenURL := TNewStaticText.Create(WizardForm);
  OpenURL.Parent := WizardForm;
  OpenURL.Cursor := crHand;
  OpenURL.Caption := 'Мой сайт';
  OpenURL.OnClick := @OpenURLClick;
  OpenURL.Left := ScaleX(16);
  OpenURL.Top := ScaleY(336);
  OpenURL.Width := ScaleX(60);
  OpenURL.Height := ScaleY(14);
  OpenURL.Font.Color := clBlue;
  OpenURL.Font.Style := OpenURL.Font.Style + [fsUnderline];
end;
procedure OpenURLClick(Sender: TObject);
begin
ShellExec('open', 'http://www.мойсайт.com/', '', '', SW_SHOWNORMAL, ewNoWait, ErrorOpenURL);
end;
Аватара пользователя
saurn

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

Сообщение saurn »

adelina.dragonborn@vk, а так:


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




Код:

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

[Code]
#define A = (Defined UNICODE) ? "W" : "A"
#define GDFBinary "{app}\GDF.dll"
type
    TGUID_ID = record
      DATA1: Cardinal;
      DATA2: Word;
      DATA3: Word;
      DATA4: Array [0..8] of Byte;
    end;
function AddToGameExplorer(BinaryPatch: String; Path: String; InstallType: Integer; var GUID: TGUID_ID): Cardinal; external 'AddToGameExplorer{#A}@files:GameuxInstallHelper.dll stdcall setuponly';
function RetrieveGUIDForApplication(BinaryPatch: String; var GUID: TGUID_ID): Cardinal; external 'RetrieveGUIDForApplication{#A}@{app}\GameuxInstallHelper.dll stdcall uninstallonly';
function RemoveFromGameExplorer(var GUID: TGUID_ID): Cardinal; external 'RemoveFromGameExplorer@{app}\GameuxInstallHelper.dll stdcall uninstallonly';
var
    GUID: TGUID_ID;
procedure CurStepChanged(CurStep: TSetupStep);
var
    GDFBinary: String;
begin
    case CurStep of
        ssPostInstall:
        begin
            if isTaskSelected('Gameux') then
            GDFBinary:=ExpandConstant('{#GDFBinary}');
            AddToGameExplorer(GDFBinary, ExpandConstant('{app}'), 3, GUID);
        end;
    end;
end;
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
var
    GDFBinary: String;
    GUID: TGUID_ID;
begin
    case CurUninstallStep of
        usUninstall:
        begin
            GDFBinary:=ExpandConstant('{#GDFBinary}');
            RetrieveGUIDForApplication(GDFBinary, GUID);
            RemoveFromGameExplorer(GUID);
            UnloadDll(ExpandConstant('{app}\GameuxInstallHelper.dll'));
        end;
    end;
end;
Аватара пользователя
mat_y@vk

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

Сообщение mat_y@vk »

El Dog, ваш код спрячьте под спойлер.
Аватара пользователя
nik1967

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

Сообщение nik1967 »

Цитата El Dog:



высвечивалась Caption := 'NewStaticText1' а 'NewStaticText2' скрылся
Скрипты Inno Setup. Помощь и советы [часть 6]




В этом случае не обязательно манипулировать с контролами, можно просто изменять Caption в зависимости от значения в реестре.


Пример




Код:

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

[Code]
var
    ISCustomPage1: TWizardPage;
    NewStaticText1: TNewStaticText;
procedure RedesignWizardForm();
begin
    ISCustomPage1 := CreateCustomPage(wpWelcome, 'ISCustomPage1_Caption', 'ISCustomPage1_Description');
    NewStaticText1 := TNewStaticText.Create(WizardForm);
    with NewStaticText1 do
    begin
        Parent := ISCustomPage1.Surface;
        Caption := 'NewStaticText1';
        Left := ScaleX(16);
        Top := ScaleY(16);
        Width := ScaleX(77);
        Height := ScaleY(14);
    end;
end;
procedure InitializeWizard();
begin
    RedesignWizardForm();
end;
function CompareRegValue(const Value: String): Boolean;
var
    sResult: String;
begin
    RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\7-Zip', Value, sResult);
    if (sResult = '7-Zip 22') then NewStaticText1.Caption := 'Имя 7-Zip 22 найдено' else NewStaticText1.Caption := 'Имя 7-Zip 22 не найдено';
end;
procedure CurPageChanged(CurPageID: Integer);
begin
    case PageFromID(CurPageID) of
        ISCustomPage1: CompareRegValue('DisplayName');
    end;
end;






Длинные тексты помещайте под спойлер: [MORE]ваш текст[/more]
Аватара пользователя
adelina.dragonborn@vk

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

Сообщение adelina.dragonborn@vk »

saurn, гениально! It Works! Сам бы никогда не додумался)



Теперь другая проблема...Resource Hacker не слушается. Может есть другой аналог-заменитель? Restorator боюсь ставить - один раз он уже сыграл со мной злую шутку.
Аватара пользователя
saurn

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

Сообщение saurn »

adelina.dragonborn@vk, оффтоп, ну да ладно...


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


О рестораторе плохого не скажу, пользуюсь только им уже невесть сколько лет. Есть еще PE Explorer. Из бесплатных, пожалуй, только Resource Hacker, - а в чем проблема, он тоже справится с этой задачей.
Аватара пользователя
adelina.dragonborn@vk

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

Сообщение adelina.dragonborn@vk »

saurn, проблемы:

1) отсутствует оценка игры (хотя в xml-е присутствуют оценки -

2) Издатель и разработчик присутствуют, однако должна быть ссылка на них - ее нету (хотя ссылка прописана в xml-е - Activision, Inc.

3) В GDF-Maker'e есть опция - Thumbnail (логотип игры). Как его запихать в dll? Action -> Add new resource -> выбираю изображение -> а дальше куда его? (Type, name в частности) - Решено.

4) Задана папка сейвов (Saved Game Folder), где она должна отображаться в проводнике игр?



P.S. Если есть xml - был бы благодарен, если поделитесь Изображение
Аватара пользователя
saurn

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

Сообщение saurn »

adelina.dragonborn@vk, все описаное выше, это вина GDF-Maker'а. Он кривой, или не полный, не знаю, корректно работают только dll'ки идущие вместе с игрой. XML можете выдрать из той библы, что я давал для проверки.
Аватара пользователя
adelina.dragonborn@vk

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

Сообщение adelina.dragonborn@vk »

saurn, спасибо за информацию.

А из той библы вырываются только Data_2.bin и Data_1.bin

Нет XML...
Аватара пользователя
adelina.dragonborn@vk

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

Сообщение adelina.dragonborn@vk »

уже не знаю, что делать...пол дня убил, ниче не выходит, все также не показывается оценка, все также не работает ссылка, ерунда какая-то. Вырвал из той библы Data_2.bin и Data_1.bin (которые и являются xml-файлами), отредактировал, запихал в ту же библу, и один фиг ниче не изменилось, все тоже самое...
Ответить

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