PDA

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 7]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 [122] 123 124 125

Dodakaedr
29-01-2015, 23:08
Kashtan007, либо через SetBounds либо в вашем случаи можно так BtnPanel:=TPanel.Create(WizardForm);
with BtnPanel do begin
Left:=ScaleX(449);
Top:=ScaleY(0);
Width:=ScaleX(211);
Height:=ScaleY(65);
Cursor:=crHand;
OnClick:=@logoOnClick2;
Parent:=WizardForm;
end;


Второй , что дедать если инстал сам закрываеться , примерно через 5-10 секунд ? »
без понятия... Это в этом же скрипте? Первое что пришло в голову это проверить функцию InitializeSetup и процедуру InitializeWizard, ну без скрипта все же думаю не разобраться...

Превый , как упрать нижнюю картинку , которую я обвел »
переименуйте с папки Files файл 1.png в info.png

ROMKA-1977
30-01-2015, 01:10
Подскажите пож. На InfoBeforeMemo и на TRichEditViewer отображается текст из файла .rtf. В файле .rtf кроме текста присутствует также картинка. Возможно ли выполнить отображение картинки из файла .rtf на InfoBeforeMemo и на TRichEditViewer.

ShadeUa
30-01-2015, 11:18
без понятия... Это в этом же скрипте? Первое что пришло в голову это проверить функцию InitializeSetup и процедуру InitializeWizard, ну без скрипта все же думаю не разобраться... »
Все я розобрался , ето не в коде проблема , а в антивирусе, Comodo ее закрывает , даже без моего согласия , и оповищения..
переименуйте с папки Files файл 1.png в info.png »
Огромное спасибо , все заработало , и спасибо что откликнулись на мою помощь :)

MogilShik2007
30-01-2015, 12:21
Всем прив, такой вопрос подаются хорошие готовые скрипты, но везде присутствует ISDone, FreeArc и т.д. для небольших игр они нафиг не нужны, как чистить скрипт от них или как то можно отключить? Или может кто посодействует?)))

Все разобрался)))

Shift85
30-01-2015, 13:19
как чистить скрипт от них »

MogilShik2007, Все элементарно и просто надо мозги немного напряч и все. :)
Удаляешь те функции которые использует ISDone и FreeArc.

Или же напиши скрипт сам меньше вопросов будет как отключить? как подключить? :jester:

MogilShik2007
30-01-2015, 15:59
ек, чутка туплю подскажите:

[UninstallDelete]
Type: filesandordirs; Name: "{app}" - это понятно, но вот если перед приложение еще папка как ее удалить?
К примеру - Type: dirifempty; Name: "Sierra\{app}" - это для наглядности, вот какой константой удаляется папка Sierra, если приложение будет установлено не по умолчанию. а скажем на другой диск?

Shift85
30-01-2015, 16:09
ек, чутка туплю подскажите:
[UninstallDelete]
Type: filesandordirs; Name: "{app}" - это понятно, но вот если перед приложение еще папка как ее удалить?
К примеру - Type: dirifempty; Name: "Sierra\{app}" - это для наглядности, вот какой константой удаляется папка Sierra, если приложение будет установлено не по умолчанию. а скажем на другой диск? »
[UninstallDelete]
Type: "FilesAndOrDirs"; Name: "{app}\Sierra";

MogilShik2007
30-01-2015, 16:12
Не работает, это для удаления папки в папке приложения

Вот пример: Х:\ХХХ\Sierra\Bobrik

Bobrik - удаляется этим Type: filesandordirs; Name: "{app}"
Sierra - как? Если ставить по умолчанию там понятно Type: dirifempty; Name: "{pf}\Sierra"
А если поставить на другой диск, то там как удалять Sierra?

kotyarko@fb
30-01-2015, 18:51
А если поставить на другой диск, то там как удалять Sierra? »
Как я понял, вам нужно удалить папку, которая, по иерархии, является ниже папки {app}?
Примерно так:
[UninstallDelete]
Type: dirifempty; Name: {code:ParentFolderName};

[*Code]
Function ParentFolderName(): String;
var
oFS: Variant;
begin
oFS := CreateOleObject('Scripting.FileSystemObject');
Result := oFS.GetParentFolderName(ExpandConstant('{app}'));
end;
Других способов добраться до этой папки не знаю.

MogilShik2007
30-01-2015, 19:09
Цитата kotyarko@fb:
Как я понял, вам нужно удалить папку, которая, по иерархии, является ниже папки {app}? »

Ну тут как смотреть, все файлы находятся в папке Bobrik, а сама папка Bobrik со всеми файлами находится в папке Sierra)))

Что-то ругается компилятор на строку Function ParentFolderName(): String;

kotyarko@fb
30-01-2015, 19:33
Ну тут как смотреть, все файлы находятся в папке Bobrik, а сама папка Bobrik со всеми файлами находится в папке Sierra))) »
Какая папка подходит под константу {app} у вас, "Bobrik"? А удалить нужно "Sierra", в которой находится "Bobrik"? - Тогда я всё верно подсказываю.

Что-то ругается компилятор на строку Function ParentFolderName(): String; »
Пробуйте так:[UninstallDelete]
Type: dirifempty; Name: {code:ParentFolderName};

[*Code]
Function ParentFolderName(DefaultPath: String): String;
var
oFS: Variant;
begin
Result := DefaultPath;
oFS := CreateOleObject('Scripting.FileSystemObject');
Result := oFS.GetParentFolderName(ExpandConstant('{app}'));
end;

Dodakaedr
30-01-2015, 19:43
если приложение будет установлено не по умолчанию. а скажем на другой диск? »
[Setup]
AppName=My Programm
AppVersion=1.1
DefaultDirName={pf}\My Programm
OutputDir=.

[UninstallDelete]
Type: dirifempty; Name: "{app}\.."

MogilShik2007
30-01-2015, 20:03
Пробуйте так: »

Вот теперь круто, спасибо)))

И такой вопрос компилю скрипт, все устанавливается, и при нажатии на кнопку Завершить - инсталлятор закрывается и через секунду выскакивает сообщение винды об ошибке - Прекращена работа программы "Setup/Uninstall". Так то все нормально, все файлы копируются, приложение запускается и работает, но эта выскакивающая плямба напрягает, куда копать?
Винда 7х64

kotyarko@fb
30-01-2015, 20:05
И такой вопрос компилю скрипт, все устанавливается, и при нажатии на кнопку Завершить - инсталлятор закрывается и через секунду выскакивает сообщение винды об ошибке - Прекращена работа программы "Setup/Uninstall". Так то все нормально, все файлы копируются, приложение запускается и работает, но эта выскакивающая плямба напрягает, куда копать? »
Где-то в коде висит хэндл для визарда.
Можно сделать так:[*Code]
Procedure DeinitializeSetup();
begin
WizardForm.Free;
end;

MogilShik2007
30-01-2015, 20:17
Цитата kotyarko@fb:
Где-то в коде висит хэндл для визарда.
Можно сделать так: »

Не не помогает теперь при нажатии Закрыть вылезает Runtime Error

хэндл это какой знак?

Shift85
30-01-2015, 20:20
Не не помогает теперь при нажатии Закрыть вылезает Runtime Error »

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
Confirm:=False;
end;

kotyarko@fb
30-01-2015, 20:21
хэндл это какой знак? »
Это не знак, это команда.
Выглядит так:
Объект.Handle;

MogilShik2007
30-01-2015, 20:25
Цитата kotyarko@fb:
Это не знак, это команда. »

Эх, придется лопатить весь код :o
И это точно из-за этой команды?

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean); begin Confirm:=False; end; »

У меня так:

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
begin
if CurPageID=wpInstalling then begin
Confirm:=False;
Cancel:=ExitSetupMsgBox;
if Cancel then AllCancel;
end;

А Runtime Error вылетал при использовании:

[*Code]
Procedure DeinitializeSetup();
begin
WizardForm.Free;
end;

Ну а без нее соответственно - Прекращена работа программы "Setup/Uninstall"

MogilShik2007
30-01-2015, 21:01
И такой вопрос компилю скрипт, все устанавливается, и при нажатии на кнопку Завершить - инсталлятор закрывается и через секунду выскакивает сообщение винды об ошибке - Прекращена работа программы "Setup/Uninstall". Так то все нормально, все файлы копируются, приложение запускается и работает, но эта выскакивающая плямба напрягает, куда копать?
Винда 7х64

Проверил на ХР, такой проблемы нет, все ставится, работает, сообщений об ошибках нет.
Вот и чего думать? Может в 7х64 IsDone подгоняет немного?

kotyarko@fb
30-01-2015, 21:09
Проверил на ХР, такой проблемы нет, все ставится, работает, сообщений об ошибках нет.
Вот и чего думать?»
Win 7\8 более чувствительны к такому.

Может в 7х64 IsDone подгоняет немного? »
Не знаю, не работал с ним.
Эту ошибку может вызывать не только хендл, но пока что сталкивался только с ним.
Здесь по коду нужно ориентироваться. Можете прогнать компиляцию по F8, возможно, покажет на проблемное место.




© OSzone.net 2001-2012