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

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

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

Сообщение ToBeLife »

R.i.m.s.k.y.,

Благодарствую, и как всегда спасибо.
Аватара пользователя
R.i.m.s.k.y.

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

Сообщение R.i.m.s.k.y. »

El Sanchez,

расскажи пожалуйста, поподробнее про ключи реестра в 64-х битных системах

К примеру три ключа

- HKLM\SOFTWARE\Wow6432Node

- HKLM64\SOFTWARE\

- HKLM\SOFTWARE\

к каким разрядностям относятся? не являются первый и третий ключи синонимами и если нет - в каких случаях юзается первый и последний?
Аватара пользователя
ToBeLife

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

Сообщение ToBeLife »

R.i.m.s.k.y.,

простите благодушно, по поводу кода, у меня inno ругается на неизвестный идентификатор res

Exec('cmd.exe', ' /c rd /S /Q ' + '"'+Dir+'"',ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res);

подскажите пожалуйста
Аватара пользователя
R.i.m.s.k.y.

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

Сообщение R.i.m.s.k.y. »

ToBeLife,

Код:

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

[CODE]
var res : integer;
procedure RD(Dir:string);
begin
  Exec('cmd.exe', ' /c rd /S /Q  ' + '"'+Dir+'"',ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res);
end;
procedure RF(file:string);
begin
  Exec('cmd.exe', ' /c del /F /Q  ' + '"'+file+'"',ExpandConstant('{sys}'), SW_Hide,ewWaitUntilTerminated,res);
end;
Function InitializeSetup: Boolean;
var file2delete : string;
Begin
  file2delete := твой файл;
  RF(file2delete);
  if (not FileExists(file2delete)) then Result := true else Result := False;
end;
Аватара пользователя
ToBeLife

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

Сообщение ToBeLife »

простите, это я невнимателен, ещё раз спасибо
Аватара пользователя
R.i.m.s.k.y.

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

Сообщение R.i.m.s.k.y. »

Цитата insombia:



у игр вообще нету реестра
Скрипты Inno Setup. Помощь и советы [часть 5]




ога, а потом патчи на репаки не ставятся

У меня под рукой ведьмак



Код:

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

Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\CD Projekt Red\The Witcher]
"IsDjinniInstalled"=dword:00000001
"RegionVersion"="RU"
"Language"="14"
"InstallFolder"="R:\\WitcherEE"

Без этого ключа в меню нет букв и патч 1,5 игру не найдет

Реестра у игр нет, дадад



Регшоть и аккуратно импортируй
Аватара пользователя
ToBeLife

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

Сообщение ToBeLife »

R.i.m.s.k.y. я для sleeping dogs что-то не могу найти ветки реестра
Аватара пользователя
Johny777

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

Сообщение Johny777 »

R.i.m.s.k.y., ToBeLife,

можно ж проще Изображение

просто удаление:


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




Код:

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

function InitializeSetup(): Boolean;
begin
  Result := not FileExists(ExpandConstant('{userdesktop}\Half-Life 2.lnk'));
  if not Result then Result := DeleteFile(ExpandConstant('{userdesktop}\Half-Life 2.lnk'));
end;







если у файла есть атрибут "только чтение":


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




Код:

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

function GetFileAttributes(lpFileName: string): integer;external 'GetFileAttributesA@kernel32.dll stdcall';
function SetFileAttributes(lpFileName: string; dwFileAttributes: integer): integer;external 'SetFileAttributesA@kernel32.dll stdcall';
function InitializeSetup(): Boolean;
begin
  Result := not FileExists(ExpandConstant('{userdesktop}\Half-Life 2.lnk'));
  if not Result then
  begin
    if (GetFileAttributes(ExpandConstant('{userdesktop}\Half-Life 2.lnk')) and FILE_ATTRIBUTE_READONLY) = FILE_ATTRIBUTE_READONLY then SetFileAttributes(ExpandConstant('{userdesktop}\Half-Life 2.lnk'), FILE_ATTRIBUTE_NORMAL);
    Result := DeleteFile(ExpandConstant('{userdesktop}\Half-Life 2.lnk'));
  end;
end;
Аватара пользователя
R.i.m.s.k.y.

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

Сообщение R.i.m.s.k.y. »

Nightwishh,
Цитата Nightwishh:



Использую обычный скрипт с кнопками в формате .bmp
Скрипты Inno Setup. Помощь и советы [часть 5]




ни о чём не говорит. Приучись пожалуйста выкладывать код (на музыку в твоём случае) с файлами(библиотеки, картинки и пр.)

концепт реализации через таймер:


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




Код:

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

[Setup]
AppName=My Program
AppVerName=My Program v.1.2
DefaultDirName={pf}\My Program
[code]
var
  SoundTimer: LongWord;
function SetTimer(hWnd, nIDEvent, uElapse, lpTimerFunc: LongWord): LongWord; external 'SetTimer@user32.dll stdcall';
function KillTimer(hWnd, nIDEvent: LongWord): LongWord; external 'KillTimer@user32.dll stdcall';
procedure PlaySound;
begin
  KillTimer(WizardForm.Handle, SoundTimer); // убиваем таймер, ведь он уже не нужен
  WizardForm.Color := clGreen;  // заместо этой строки код запуска проигрывания звука 
end;
procedure InitializeWizard;
begin
  SoundTimer := SetTimer(WizardForm.Handle, 5, 4000, CallbackAddr('PlaySound')); // в конце процедуры запускаем таймер. Интервал его обновления 4000 мс = 4 с
end;
procedure DeinitializeSetup();
begin
  KillTimer(WizardForm.Handle, SoundTimer); // если пользователь вышел из инсталла менее чем за 4 секунды после его запуска
end;
Ответить

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