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

Статус
В этой теме нельзя размещать новые ответы.

vint56

Ветеран
Проверенный
Shift85
Как сделать проверку через реестр установлена игра или нет и если установлена появлялось сообщение типа "Игра уже установлена" "удалить да нет"
#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppExeName "MyProg.exe"

[Setup]
AppID=My Program
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}

Код:
function UninstallMyApp(): Boolean;
var
   Buff: String;
   i: Integer;
begin
   Result := not RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1', 'UninstallString', Buff );
   if not Result then Result := not FileExists(RemoveQuotes(Buff));
   if not Result then if MsgBox('Перед установкой необходимо удалить предыдущую версию приложения. Продолжить?', mbError, MB_YESNO) = IDYES then
   try
       Exec(RemoveQuotes(Buff), '', ExtractFilePath(RemoveQuotes(Buff)), SW_SHOW, ewWaitUntilTerminated, i);
   finally
       Result := not RegQueryStringValue( HKLM, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{#SetupSetting("AppID")}_is1', 'UninstallString', Buff );
       if not Result then MsgBox('Удаление завершилось неудачей!', mbError, MB_OK);
   end;
end;

function InitializeSetup(): Boolean;
begin
   Result := UninstallMyApp();
end;[/SPOILER]
 

LexBell

Борода
Супер модератор
Shift85,
Код:
WizardForm.ComponentsList.Font.Name := 'MS Sans Serif';
ты будешь смеяться, но так. Ну или отключить сглаживание ClearTipe для шрифта компонент-листа, чтоб не менять шрифт:
[SOURCE="iss"]type
HFONT = LongWord;

function CreateFont(nHeight, nWidth, nEscapement, nOrientaion, fnWeight: Integer;
fdwItalic, fdwUnderline, fdwStrikeOut, fdwCharSet, fdwOutputPrecision,
fdwClipPrecision, fdwQuality, fdwPitchAndFamily: DWORD; lpszFace: PAnsiChar): HFONT; external 'CreateFontA@gdi32.dll stdcall delayload';

procedure NewFont(Font : TFont);
begin
Font.Handle := CreateFont(Font.Height, 0, 0, 0, 400, 0, 0, 0,0, 0, 0,0, 3, Font.Name); // предпоследний параметр поиграться от 0 до 4-х, не помню, чего там нужно ставить
end;

procedure InitializeWizard();
begin
ExtractTemporaryFile('BGImage.bmp');
BGImgFile := ExpandConstant('{tmp}\BGImage.bmp');
with WizardForm.ComponentsList do
begin
LoadBGBmpFromFile(BGImgFile, WizardForm.ComponentsList.Left, WizardForm.ComponentsList.Top);
NewFont(font);
end;
end;[/SOURCE]
 

Silentman

Новичок
Приветствую! Может кто-нибудь дать пример текстурирования isdone-прогрессбара через ботву? И ещё вопросик: можно ли к созданной на ботве кнопке применить ModalResult := mrOk;
 

Дамир

Новичок
[STRIKE]Подскажите, как через ботву перерисовать это окно[/STRIKE] ??
UPD: Все, сам понял.
 
Последнее редактирование:

Mailchik

Старожил
Проверенный
Приветствую! Может кто-нибудь дать пример текстурирования isdone-прогрессбара через ботву?
http://rghost.ru/51776182
И ещё вопросик: можно ли к созданной на ботве кнопке применить ModalResult := mrOk;
Код:
procedure TestButtonClick(hBtn: HWND);
begin
  TestForm.ModalResult := mrOK;
end;

BtnSetEvent(TestButton, BtnClickEventID, WrapBtnCallback(@TestButtonClick, 1));
 

vint56

Ветеран
Проверенный
Привет всем столкнулся с такой проблемой есть код выхода на ботве на версий ботвы 0.9.1 121 и модуль весит 14,4 КБ выход нормально работает без проблем решил обновить dll и модуль botva2.dll теперь версий 0.9.7.151 модуль весить 16,9 КБ но теперь выходит ошибка
вот скрин
Сами кнопки работают нормально ошибка только при выходе из установшика
 
Последнее редактирование:

sergey3695

Ветеран
Модератор
При использовании функции CreateFont возникла проблема.
Код:
//  Form.Font.Name := 'Arial';
  Form.Font.Handle := CreateFont(Form.Font.Height, 0, 0, 0, 1000, 0, 0, 0,0, 0, 3,0, 0, Form.Font.Name);
при использование шрифта (любого) (Form.Font.Name) при отображении русских символов вылазиют кракозябры. в msdn про функцию прочел, но не понял где изменять чтобы работало.
 

Shift85

Старожил
vint56, Пробуй заменить http://rghost.ru/52025861 вес 37,0 версий 0.9.7.151

sergey3695, Предпоследний парамет попробуй...
 
Последнее редактирование:

Mailchik

Старожил
Проверенный
при использование шрифта (любого) (Form.Font.Name) при отображении русских символов вылазиют кракозябры. в msdn про функцию прочел, но не понял где изменять чтобы работало.
Попробуй прописать RUSSIAN_CHARSET в fdwCharSet (9-й параметр).
Код:
const
  RUSSIAN_CHARSET = 204;
Хотя я скомпилил без этого, и крякозябр нет.
 

Edison007

Ветеран
Модератор
vint56
BtnSetEvent(CloseBtn,BtnClickEventID,WrapBtnCallback(@CloseBtnClick,4));
BtnSetEvent(CancelBtn,BtnClickEventID,WrapBtnCallback(@CancelBtnClick,4));
>>
BtnSetEvent(CloseBtn,BtnClickEventID,WrapBtnCallback(@CloseBtnClick,1));
BtnSetEvent(CancelBtn,BtnClickEventID,WrapBtnCallback(@CancelBtnClick,1));
 

MAKS_MAFIA

Новичок
Как сделать так, чтобы перед установкой можно было выбрать удалять файлы или нет.
 

DICI BF

Новичок
Мне тут код давали, вот он Код, как сделать чтобы проверялось две папки "Skins" и "Data", а чекбокс был один?
 
Последнее редактирование:

Snoopak96

Старожил
DICI BF,
Код:
[Components]
Name: Skins; Description: Установить скины; Check: DirExists(ExpandConstant('{src}\Skins')) and DirExists(ExpandConstant('{src}\Data'));
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху