Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 9]
habib2302
13-12-2019, 15:38
web_form, В module\cancel form.iss чуть ниже 160 строки есть строки Left и Top отвечающие за координаты этого текста
Если хотите отцентровать добавьте Alignment := taCenter; над строкой left
habib2302
13-12-2019, 18:03
web_form, 160 строка №8 не 18, а 8
habib2302
13-12-2019, 20:09
web_form, держите https://drive.google.com/file/d/1A5JjK-x1-B9HldjI13bdg69DyT4G01Fc
количество задач меняется в параметре #define TaskCheckBox.
habib2302
15-12-2019, 10:50
web_form, Будьте добры загружайте скрины через данную прогу (http://zenden2k.com/ru/imageuploader) с миниатюрами
https://b.radikal.ru/b12/1912/12/1938192775e9.png (https://c.radikal.ru/c04/1912/17/83c00ba8cf24.jpg)
По поводу миниатюры в панели задач есть библиотека WinTB, но проблема в том, что данная библиотека не работает на десятке
Хотя вот нашел. https://drive.google.com/file/d/1GmIrc-BFv4tqACbEoCfwDcsd73KLr33x
habib2302
15-12-2019, 12:12
web_form, в example.iss удалите раздел [setup] и все что в нем прописано. В main.iss над разделом setup с новой строки пропишите #include "example.iss". Файлы будут прописаны в example. И в конце example.iss не забудьте раскомментировать последние строки. А файл source.cpp вам не нужен т.к это исходник
habib2302
15-12-2019, 13:38
web_form, можно ваш скрипт с которым вы работайте
habib2302
15-12-2019, 19:10
web_form, проблема в том, что там придется перебирать и адаптировать скрипты под новый wintb т.к там изначально стоит старый
Здравствуйте!
Не распаковывается 7zip архив, если в пути есть пробелы. Подскажите пожалуйста как исправить.
[Run]
Filename: {app}\7z.exe; Parameters: "x {src}\data1.7z-y"
Tiarn, Пути с пробелами берутся в кавычки, а азы из документации гласят, что символ кавычкек " вставляется в строку как удвоенная кавычка "". Итого получаем Filename: {app}\7z.exe; Parameters: "x ""{src}\data1.7z-y"""
web_form, там заморочек много. С переключением языка на лету.
habib2302
21-12-2019, 17:03
Доброе время суток. Необходимо удалить настройки проги во время деинсталляции через код с выводом MsgBox, но проблема в том, что в пути к настройкам есть символ "одинарная кавычка" или ' . Как можно обойти ошибку из-за этой кавычки? Пример Friday's program
[Code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
case CurUninstallStep of
usPostUninstall:
if DirExists(AddBackslash(ExpandConstant('{userappdata}')) + 'Friday's program') then
begin
if MsgBoxEx(0, 'Удалить настройки программы', 'Удаление настроек', $00000004 or $00000020, 0, 0) = IDYES then
DelTree(AddBackslash(ExpandConstant('{userappdata}')) + 'Friday's program', True, True, True);
end;
end;
end;
habib2302, использовать "" для " и '' для ', то бишь удваивать кавычку в строке.
выложу робочий скрипт на проверку хеш мож кому пригодится. »
На заметку:
1. По коду скрипта:
function InitializeSetup(): Boolean;
var
FileName: String;
SHA1: String;
begin
FileName := ExpandConstant('{reg:HKLM\SOFTWARE\Code,PATH_APPLICATION}') +'\Test.exe';
это присваивание не несёт полезной нагрузки:
Result := FileExists(FileName);
если файла нет по этому пути, будет ошибка (пример обработки здесь был (http://forum.oszone.net/post-2904032.html#post2904032)):
SHA1 := GetSHA1OfFile(FileName);
if SHA1 = 'ad030d5606a2dcfa75ebc425a70730f23e7f07ab' then // буквы должны быть маленькими
begin
Result := MsgBox('Программа уже Установлена' #13#13 'Продолжить Установить?', mbInformation, MB_YESNO) = IDYES;
end
выделенная зелёным часть не несёт полезной нагрузки, можно убрать:
else
begin
end
end;
2. Отступы - полезная штука для улучшения читаемости кодаю
iglezz
Зделал так, все работает, тока теперь при разных хеш, програма закрывается :help:
function InitializeSetup(): Boolean;
var
FileName: String;
SHA1: String;
begin
FileName := ExpandConstant('{reg:HKLM\SOFTWARE\Code,PATH_APPLICATION}') +'\Test.exe';
if Not FileExists(FileName) then begin
MsgBox('Установка Прекращена' #13#13 'Установите сначала Программу!', mbCriticalError, MB_OK);
Result := False;
Exit;
end;
SHA1 := GetSHA1OfFile(FileName);
if SHA1 = 'ad030d5606a2dcfa75ebc425a70730f23e7f07ab' then // буквы должны быть маленькими
begin
Result := MsgBox('Программа уже Установлена' #13#13 'Продолжить Установить?', mbInformation, MB_YESNO) = IDYES;
end
end;
как его побороть?
Beavimo, код оформляется тэгом «code». И уже потом его можно дополнительно обрамить тэгом «spoiler».
Beavimo, может я не в теме, но попробуйте так:
#define NeedSHA "ad030d5606a2dcfa75ebc425a70730f23e7f07ab"
[Setup]
AppName=My Application
AppVersion=1.5
CreateAppDir=no
[*Сode]
function InitializeSetup: Boolean;
var
FileName: PAnsiChar;
begin
FileName:=ExpandConstant('{reg:HKLM\SOFTWARE\Code, PATH_APPLICATION}')+'\Test.exe';
if not FileExists(FileName) then begin
MsgBox('Установка Прекращена' #13#13 'Установите сначала Программу!', mbCriticalError, MB_OK);
Result:=False;
end else begin
if (GetSHA1OFFile(FileName) = Lowercase('{#NeedSHA}')) then Result:=MsgBox('Программа уже Установлена' #13#13 'Продолжить Установить?', mbInformation, MB_YESNO) = IDYES
else Result:=MsgBox('Программы не совпадают!', mbCriticalError, MB_OK) <> IDOK; // если надо чтоб программа запускалось при не соответствии, сменить знак на "="
end;
end;
код оформляется тэгом «code». »В дополнение.
В дополнение (http://forum.oszone.net/post-2270836.html#post2270836). »
Nordek, завели же тэг [noparse] (http://forum.oszone.net/misc.php?do=bbcode#noparse) специально для таких случаев.
Nemko, спасибо, тока как убрать предупреждение о несовпадении сум, что бы сразу устанавливалась прога
else Result:=MsgBox('Программы не совпадают!', mbCriticalError, MB_OK) = IDOK; // если надо чтоб программа запускалось при не соответствии, сменить знак на "="
Iska, https://i4.imageban.ru/thumbs/2020.01.11/9263c017f479cfb1a1400f12332fab37.png (https://i4.imageban.ru/out/2020/01/11/9263c017f479cfb1a1400f12332fab37.png)
Таким образом подставляется автоматически:
[Code]
procedure RedesignWizardForm;
begin
with WizardForm.CancelButton do
begin
Left := ScaleX(364);
end;
end;
procedure InitializeWizard();
begin
RedesignWizardForm;
end;
Итог:
[Code]
procedure RedesignWizardForm;
begin
with WizardForm.CancelButton do
begin
Left := ScaleX(364);
end;
end;
procedure InitializeWizard();
begin
RedesignWizardForm;
end;
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.