Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Написание скрипта для инсталлятора
Форум программистов > Системное программирование > Delphi и Pascal > Delphi - FAQ
Страницы: 1, 2, 3, 4, 5, 6
Kindly
Для: Guest
Вообще смену картинок реализовать можно, но чтоб с эффектами нужно вызывать соответствующие функции из системных библиотек (сам не знаю каких smile.gif ), либо можно использовать внешнюю dll с эффектами, которая бы даже загружала изображения в виде слайд-шоу, но такую dll наверное трудно раздобыть, проще заказать написать такую у программистов, если это вообще реально.
Jugin
Цитата(Kindly @ 9:04:2006, 12:36 )
Для: Guest
Вообще смену картинок реализовать можно, но чтоб с эффектами нужно вызывать соответствующие функции из системных библиотек (сам не знаю каких smile.gif ), либо можно использовать внешнюю dll с эффектами, которая бы даже загружала изображения в виде слайд-шоу, но такую dll наверное трудно раздобыть, проще заказать написать такую у программистов, если это вообще реально.
*


Ну и ладно фиг с ними, с этими эффектми. Как реализовать смену картинок без эффектов? rolleyes.gif
Spawn
Здравствуйте уважаемые!
Пользую инсталлятор Inno Setup 5.1.5, сделал все что необходимо но столкнулся с проблемой. Пользовался поиском форума, но ненашел подобного вопроса.
Вопрос: Перед выполением инсталлятора мне нужно, что бы IS выгрузил процесс, например с именем task.exe у всех пользователей этого компьютера, затем принудительно его удалил (адрес мне известен). А потом уже начал ход выполнения установки...

Удалить можно через секцию [InstallDelete], но вот как выгрузить процесс - неразобрался...
Ытфлу
Цитата
Мне у Inno Setup степень сжатия больше нравится, по этому и хотелось бы реализовать такую штуку с его использованием.


smile.gif Этим он и мне нравится, а также своей простотой.
Стандартных таких функций в Inno Setup нет, может и реально сделать такой инсталлятор, но придется написать свой DLL или импортировать какие-нибудь API функции Винды, а для этого нужен крутой программист. Я вот хочу, чтобы в фоновом окне циклично проигрывался AVI-файл, как-раз аналог смены рисунков, и эффекты тогда можно будет сделать (ни кому не охота написать DLL-ку на Делфи?).

Для Kindly:
Kindly, хочу задать такой вопрос, т.к. ты думаю разобрался в формате XM. До какой степени реально зажать Wave-файл, я зажал с 40 мегов до 5, возможно ли еще, чтобы потеря качества была не особо заметна?
И еще, с SongLoadFromFile, SongPlay, SongStop все понятно, SongLoadFromResource - звук будет грузиться из *.res-файла (думаю так?!), а что такое SongFree, SongGetOrder, SongGetRow, SongGetTime?
Guest_Snake_*
'Ытфлу' - это я (забыл раскладку клавы переключить).
Guest_Snake_*
'Ытфлу' - это я (забыл раскладку клавы переключить).
Kindly
Для: Guest_Snake_*, так э-э-э... Причем тут XM и WAVE? Это разные форматы. Не понял - во что WAVE сжал в XM чтоли? Вообще если инсталлер игровой то у меня музыка проигрывается через авторан.
Цитата
И еще, с SongLoadFromFile, SongPlay, SongStop все понятно, SongLoadFromResource - звук будет грузиться из *.res-файла (думаю так?!), а что такое SongFree, SongGetOrder, SongGetRow, SongGetTime?

Зайди сюда и скачать эту dll с примерами, поймешь что к чему: ]]>http://cobans.net/minifmod.php]]>
Цитата
ни кому не охота написать DLL-ку на Делфи?

Охота, наверное, только не за бесплатно.
GuEst
Kindly, Guest_Snake_*! А мне никто не поможет?.. Пожалуйста!

]]>Кто-нибудь может помочь - проблема с Uninstall'ом!]]> <-- это ссылка на мой пост...
Guest_Snake_*
Для GuEst:
Попытался сделать (с этим и другими вариантами), ничего не вышло. Наверное, если деинсталлятор не поддерживает то вряд ли, что получится.
Guest_Snake_*
Для Kindly:
Wave я перекодировал в XM, т.к. тот кодировщик, ссылка на который указана или где-то выше, или в твоем руководстве, из распространенных форматов поддерживает только *.wav. Другие форматы черт знает с каким расширением - такого никогда и не слышал.
Guest_Den_*
Мне нужно перед распаковкой основных файлов произвести распаковку временных файлов. Это все работает, но как при этом отобразить свой "прогресс бар"?
Guest_Den_*
Встроенная функция в Innosetup OutputProgress завершает программу установкеи, но мне нужно, чтобы после выполнения exe временных файлов установка продолжалась с распаковкой уже основных файлов, прописанных в секции [Files].
Guest
Народ, сори если повторюсь, но как сделать сплэш в ино сетапе, т.е. чтоб при запуски инстала выплывал логотип студии, ну а после начало установки?
Guest_Snake_*
Для GuEst:
Есть правда один вариант с деинсталлятором, что не совсем этично, т.к. форум про Inno Setup,-попробуй сделать инсталлятор в NSIS (]]>http://nsis.sourceforge.net]]>). Не уверен, но там вроде как можно такое сделать, потому что деинсталлятор не готовый, как в Inno Setup, а создается вручную, аналогично инсталлятору.
GuEst
Guest_Snake_*! Спасибо большое за ответ! Я вот тут тоже поныкался - толку нуль.
NSIS как раз не нужен, так как я с него на Inno и перешёл.

Мне бы хоть флаг какой-нибудь, чтобы он после удаления файла при Uninstall спрашивал запрос на перегрузку...

Ничего не нашёл - видимо никак. Жалко, мне установщик понравился. Ну, на крайняк, есть его исходники - можно попробовать переписать, правда вряд ли я с ним справлюсь.

Ещё раз спасибо!
Всем удачи!
Kindly
Guest
Цитата
Народ, сори если повторюсь, но как сделать сплэш в ино сетапе, т.е. чтоб при запуски инстала выплывал логотип студии, ну а после начало установки?
Пробуй данное дополнение. Там этот пример есть. Последняя версия сборника скриптов ISSI лежит здесь: ]]>http://members.home.nl/albartus/issi/ISSI-Setup.exe]]>
Guest
Сп Kindly, очень помог, я чет при скачивании проги не заметил дополнительные плагины.
НВ
Приветствую. У меня вопрос по поводу бекапа. Можно ли его сделать через функцию задач. Если пользователль поставил галочку возле названия "Сделать резрвную копию заменяемых файлов", то запускался скрипт, который переносил бы оригинальные папки и файлы в директорию бекап по структуре? Заранее благодарен.
Kindly
Проще всего это делать через батник, вот только не силен я в этом. Написал человеку, реализовавшему бэкап данным образом, вот ответит или нет? Может кто из программистов желает помочь?
GuEst
2 НВ:

xcopy /E C:\YourProgram\*.* C:\Backup\*.*

xcopy /? - полная справка.

Только сразу предупреждаю, что "xcopy.exe" - это отдельная тулза, которая _обычно_ поставляется со всеми операционками от мелкомягких (ещё со времён DOS), но, теоретически, _может_ отсутствовать.
Kindly
Ндя, жмот чел оказался... GuEst сенкс, будем разбираться.
t-tan
To Expeditor!
Если не трудно вышлите мне на мыло ту софтину, которую вы написали для того, чтобы конвертировать нормальные файлы в пустые. А то, очень нужна. t-tan@list.ru
P.S: Извиняюсь, что так поздно прошу.
t-tan
To Expeditor!
Если не трудно вышлите мне на мыло ту софтину, которую вы написали для того, чтобы конвертировать нормальные файлы в пустые. А то, очень нужна. t-tan@list.ru
P.S: Извиняюсь, что так поздно прошу.
Guest_mike_*
извиняюсь, что с таким ламерским вопросом лезу, но нужна помощь.
с программой начал работать только сегодня и не программист, так что многое непонятно.
Вопрос в следующем: как удалить существующие файлы? ниже распишу подробнее.
Задача была такая: есть старая версия установленной программы. там была такая часть: Папка\Имя файла.
В новой версии структура этой части немного другая: Папка\Папка2\Имя файла
При установке инсталлятор проверяет наличие старой версии и конкретно наличие данного файла. если он есть, то переписывает его под свою структуру. Это я сделал.
Но у меня остается старая структура: Папка\Имя файла. Т.е. файл (Имя файла) дублируется, а у меня не получается его удалить.
В хелпе нашел функции DeleteFile и DelTree, но я наверно как-то их не правильно использую - ничего не получается, при компиляци обычно выдает ошибку. Подскажите плиз.
Guest
Попробуй скачать отсюда руководство, вверху топика: ]]>http://forum.codeby.net/topic3574s180.html]]>
Там в принципе встречается пример удаления.
Guest_mike_*
ok, пасиба smile.gif
Mesmerized
Кто знает, как изменить этот IS Uninstaller, чтобы он удалял не все файлы, а только папку Save?

unit Uninstaller;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ShellApi, XPMan;

type
TForm1 = class(TForm)
XPManifest1: TXPManifest;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1:TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
lpFileOp: TSHFileOpStruct;
DirList:TStringList;
FileList:TStringList;
sr: tSearchRec;
i,j:integer;
Path: string;
begin
MessageBeep(MB_ICONASTERISK);
with Application do
begin
DirList:= TStringList.Create;
FileList:= TStringList.Create;
if findFirst('*.*',faAnyFile,sr)=0 then
repeat
if (sr.Name <> '..') and (sr.Name <> '.') then
begin
if sr.attr=faDirectory then DirList.Add(sr.Name)
else FileList.Add(sr.Name);
end;
until findNext(sr) <> 0;
FindClose(sr);
If MessageBox('Нажмите «Да», если вы хотите удалить все файлы из папки игры (в том числе и сохранения игры), или нажмите «Нет», если хотите оставить файлы, которые не были установлены вместе с игрой.' + #13#10#13#10 + 'Вы хотите удалить все файлы из папки игры?', 'Подтвердите удаление файлов',MB_ICONQUESTION or MB_YesNo) = IDYes then
begin
for i:=0 to FileList.Count-1 do
begin
if FileList.Strings[i]<>'IsUninstaller.exe' then
if FileList.Strings[i]<>'unins000.dat' then
if FileList.Strings[i]<>'unins000.exe' then
DeleteFile(PChar(FileList.Strings[i]));
end;
for j:=0 to DirList.Count-1 do
begin
Path:=ExtractFilePath(paramstr(0));
FillChar(lpFileOp,SizeOf(lpFileOp),0);
lpFileOp.Wnd := Handle;
lpFileOp.wFunc := FO_DELETE;
lpFileOp.pFrom := PChar(Path+'\'+DirList.Strings[j]);
lpFileOp.fFlags := FOF_NOCONFIRMATION;
SHFileOperation(lpFileOp);
end;
end;
end;
DirList.Free;
FileList.Free;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
close;
end;

end.
Mesmerized
Кто знает, как изменить этот IS Uninstaller, чтобы он удалял не все файлы, а только папку Save?

unit Uninstaller;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ShellApi, XPMan;

type
TForm1 = class(TForm)
XPManifest1: TXPManifest;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1:TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
lpFileOp: TSHFileOpStruct;
DirList:TStringList;
FileList:TStringList;
sr: tSearchRec;
i,j:integer;
Path: string;
begin
MessageBeep(MB_ICONASTERISK);
with Application do
begin
DirList:= TStringList.Create;
FileList:= TStringList.Create;
if findFirst('*.*',faAnyFile,sr)=0 then
repeat
if (sr.Name <> '..') and (sr.Name <> '.') then
begin
if sr.attr=faDirectory then DirList.Add(sr.Name)
else FileList.Add(sr.Name);
end;
until findNext(sr) <> 0;
FindClose(sr);
If MessageBox('Нажмите «Да», если вы хотите удалить все файлы из папки игры (в том числе и сохранения игры), или нажмите «Нет», если хотите оставить файлы, которые не были установлены вместе с игрой.' + #13#10#13#10 + 'Вы хотите удалить все файлы из папки игры?', 'Подтвердите удаление файлов',MB_ICONQUESTION or MB_YesNo) = IDYes then
begin
for i:=0 to FileList.Count-1 do
begin
if FileList.Strings[i]<>'IsUninstaller.exe' then
if FileList.Strings[i]<>'unins000.dat' then
if FileList.Strings[i]<>'unins000.exe' then
DeleteFile(PChar(FileList.Strings[i]));
end;
for j:=0 to DirList.Count-1 do
begin
Path:=ExtractFilePath(paramstr(0));
FillChar(lpFileOp,SizeOf(lpFileOp),0);
lpFileOp.Wnd := Handle;
lpFileOp.wFunc := FO_DELETE;
lpFileOp.pFrom := PChar(Path+'\'+DirList.Strings[j]);
lpFileOp.fFlags := FOF_NOCONFIRMATION;
SHFileOperation(lpFileOp);
end;
end;
end;
DirList.Free;
FileList.Free;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
close;
end;

end.
Mesmerized
Кто знает, как изменить этот IS Uninstaller, чтобы он удалял не все файлы, а только папку Save?

unit Uninstaller;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ShellApi, XPMan;

type
TForm1 = class(TForm)
XPManifest1: TXPManifest;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1:TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
lpFileOp: TSHFileOpStruct;
DirList:TStringList;
FileList:TStringList;
sr: tSearchRec;
i,j:integer;
Path: string;
begin
MessageBeep(MB_ICONASTERISK);
with Application do
begin
DirList:= TStringList.Create;
FileList:= TStringList.Create;
if findFirst('*.*',faAnyFile,sr)=0 then
repeat
if (sr.Name <> '..') and (sr.Name <> '.') then
begin
if sr.attr=faDirectory then DirList.Add(sr.Name)
else FileList.Add(sr.Name);
end;
until findNext(sr) <> 0;
FindClose(sr);
If MessageBox('Нажмите «Да», если вы хотите удалить все файлы из папки игры (в том числе и сохранения игры), или нажмите «Нет», если хотите оставить файлы, которые не были установлены вместе с игрой.' + #13#10#13#10 + 'Вы хотите удалить все файлы из папки игры?', 'Подтвердите удаление файлов',MB_ICONQUESTION or MB_YesNo) = IDYes then
begin
for i:=0 to FileList.Count-1 do
begin
if FileList.Strings[i]<>'IsUninstaller.exe' then
if FileList.Strings[i]<>'unins000.dat' then
if FileList.Strings[i]<>'unins000.exe' then
DeleteFile(PChar(FileList.Strings[i]));
end;
for j:=0 to DirList.Count-1 do
begin
Path:=ExtractFilePath(paramstr(0));
FillChar(lpFileOp,SizeOf(lpFileOp),0);
lpFileOp.Wnd := Handle;
lpFileOp.wFunc := FO_DELETE;
lpFileOp.pFrom := PChar(Path+'\'+DirList.Strings[j]);
lpFileOp.fFlags := FOF_NOCONFIRMATION;
SHFileOperation(lpFileOp);
end;
end;
end;
DirList.Free;
FileList.Free;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
close;
end;

end.
Guest
Кто знает, как изменить этот IS Uninstaller, чтобы он удалял не все файлы, а только папку Save?

unit Uninstaller;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,ShellApi, XPMan;

type
TForm1 = class(TForm)
XPManifest1: TXPManifest;
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1:TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
lpFileOp: TSHFileOpStruct;
DirList:TStringList;
FileList:TStringList;
sr: tSearchRec;
i,j:integer;
Path: string;
begin
MessageBeep(MB_ICONASTERISK);
with Application do
begin
DirList:= TStringList.Create;
FileList:= TStringList.Create;
if findFirst('*.*',faAnyFile,sr)=0 then
repeat
if (sr.Name <> '..') and (sr.Name <> '.') then
begin
if sr.attr=faDirectory then DirList.Add(sr.Name)
else FileList.Add(sr.Name);
end;
until findNext(sr) <> 0;
FindClose(sr);
If MessageBox('Нажмите «Да», если вы хотите удалить все файлы из папки игры (в том числе и сохранения игры), или нажмите «Нет», если хотите оставить файлы, которые не были установлены вместе с игрой.' + #13#10#13#10 + 'Вы хотите удалить все файлы из папки игры?', 'Подтвердите удаление файлов',MB_ICONQUESTION or MB_YesNo) = IDYes then
begin
for i:=0 to FileList.Count-1 do
begin
if FileList.Strings[i]<>'IsUninstaller.exe' then
if FileList.Strings[i]<>'unins000.dat' then
if FileList.Strings[i]<>'unins000.exe' then
DeleteFile(PChar(FileList.Strings[i]));
end;
for j:=0 to DirList.Count-1 do
begin
Path:=ExtractFilePath(paramstr(0));
FillChar(lpFileOp,SizeOf(lpFileOp),0);
lpFileOp.Wnd := Handle;
lpFileOp.wFunc := FO_DELETE;
lpFileOp.pFrom := PChar(Path+'\'+DirList.Strings[j]);
lpFileOp.fFlags := FOF_NOCONFIRMATION;
SHFileOperation(lpFileOp);
end;
end;
end;
DirList.Free;
FileList.Free;
end;

procedure TForm1.FormShow(Sender: TObject);
begin
close;
end;

end.
Guest_Прохожий_*
Привет, знатокам. Вот назрел такой вопрос, как изменить стиль маленького, а не на весь экран окошка нсталла? НУ например заменить фон, там кое где своего подобюия рамку нарисовать, ну в общем перерисовать весь процесс установки, а то надоели эти бело серые будни большинства инсталлов. Премного благодарен.
НВ
to Kindly Кста у того типа который зажал, случайно не ник SerGEAnt?
Гость
Здраствуйте.
Подскажите пожалуйста как при создании инсталляционного файла, я использую Inno Setup 5/1/4, записать данные в INI файл.
Я просто создаю еще одну форму, которая запускается после приветствия и там есть поле введите 'Наименование организациии это необходимо записать в секцию INI файла.

Вот мой код, в котором я создаю свою форму для заполнения данных:

[INI]
Filename: {app}\DATA\USERS\DEFAULT\cbs.INI; Components: program; Section: SetPlat; Key: NAME_PLAT; String: ???? как здесь прорписать данные из секции [code] ???[color=#FF0000]

[CODE]

var
Label1: TLabel;
Edit1: TEdit;

procedure CustomForm_Activate(Page: TWizardPage);
begin
end;

function CustomForm_ShouldSkipPage(Page: TWizardPage): Boolean;
begin
Result := False;
end;

function CustomForm_BackButtonClick(Page: TWizardPage): Boolean;
begin
Result := True;
end;

function CustomForm_NextButtonClick(Page: TWizardPage): Boolean;
begin
Result := True;
end;

procedure CustomForm_CancelButtonClick(Page: TWizardPage; var Cancel, Confirm: Boolean);
begin
end;

function CustomForm_CreatePage(PreviousPageId: Integer): Integer;
var
Page: TWizardPage;
begin
Page := CreateCustomPage(
PreviousPageId,
ExpandConstant('{cm:CustomFormCaption}'),
ExpandConstant('{cm:CustomFormDescription}')
);

{ Label1 }
Label1 := TLabel.Create(Page);
with Label1 do
begin
Parent := Page.Surface;
Left := ScaleX(152);
Top := ScaleY(24);
Width := ScaleX(31);
Height := ScaleY(13);
Caption := 'Наименование организации';
end;

{ Edit1 }
Edit1 := TEdit.Create(Page);
with Edit1 do
begin
Parent := Page.Surface;
Left := ScaleX(16);
Top := ScaleY(24);
Width := ScaleX(129);
Height := ScaleY(21);
TabOrder := 0;
Text := '';
end;

with Page do
begin
OnActivate := @CustomForm_Activate;
OnShouldSkipPage := @CustomForm_ShouldSkipPage;
OnBackButtonClick := @CustomForm_BackButtonClick;
OnNextButtonClick := @CustomForm_NextButtonClick;
OnCancelButtonClick := @CustomForm_CancelButtonClick;
end;

Result := Page.ID;
end;

procedure InitializeWizard();
begin
CustomForm_CreatePage(wpWelcome);
end;

Заранее спасибо!
Kmike
сообщение удалено пользователем
Kmike
всем привет. тема жива еще аль нет?
мож поможете?
как сделать так, чтоб при вызове скрипта и последующей компиляции инсталяшки конечному .ехе файлу присваивалось имя на единицу больше предыдущего? Скажем, была инсталяшка "Setup_1.01", после следующей компиляции у файла д.б. имя "Setup_1.02" и так далее? Руками то конечно поменять не проблема, но фишка вся именно в автоматизации процесса.
Hattrick
Помогите, пожалуйста. Где найти в реестре путь к установленной программе? Нужно для того, чтобы вставить код в Inno Setup.
Kmike
Цитата(Hattrick @ 12:06:2006, 10:07 ) *
Помогите, пожалуйста. Где найти в реестре путь к установленной программе? Нужно для того, чтобы вставить код в Inno Setup.


у программы есть AppId? наверно есть smile.gif тогда можно, например, так:


if RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{9523CA71-F511-4AA2-B210-0D3B343A7073}_is1', 'InstallLocation', MyProgramLocation) then
begin
MyProgramLocation := RemoveBackslash(MyProgramLocation)


где {9523CA71-F511-4AA2-B210-0D3B343A7073} - AppId
MyProgramLocation - переменная, в которую записывается путь, по которому находится программа. Так как этот путь получается в кавычках, то может понадобиться строка
MyProgramLocation := RemoveBackslash(MyProgramLocation)
Hattrick
Хммм. По данному адресу установочный путь отсутствует.
]]>]]>

Но я нашел установочный путь в другом месте
]]>]]>

Какой же способ выбрать тогда??? huh.gif
Kmike
ну, в первом случае у тя есть UninstallString. Moжно в моей строке 'InstallLocation' заменить на 'UninstallString', откинув затем в полученном стринге EAUninstall.exe получаешь папку, где установленна программа.

Можно наверное использоват путь на твоей второй картинке и использовать 'Install Dir', хотя не знаю, получится ли.

Может есть какой другой лучший способ. я пользуюсь описанным выше.
_Egorka_
Доброго времени суток!
У меня возникла проблема:
собрал инсталлятор с фоновым рисунком,при запуске появляется фоновое окно с градиентом
(и больше ничего!),затем через продолжительное время (больше 5 минут)-фоновый рисунок и

окно установки программы.Инсталлятор многотомный,разбит по 800 мб ,общий обьём 4600 мб.
Пробовал запускать на другом компе - екзешник и первый том.При запуске появилось

фоновое окно,
затем через некоторое время - запрос на второй том . Я так понимаю,что фоновый рисунок

содержится аж в последнем архиве,а прога ищет его во всех по порядку! - оттого и так

много времени проходит.
Пожалуйста,помогите разобратся!

заранее благодарен.

Скрипт для фонового рисунка такой,как на странице 2 этого форума
Hattrick
У меня еще вопрос: почему-то размер файла-инсталятора больше, чем архив на 200 Кб. С чем это может быть связяно? Может это дело связано с рисунками? unsure.gif
Kmike
Цитата(_Egorka_ @ 15:06:2006, 17:02 ) *
Доброго времени суток!
У меня возникла проблема:
...


попробуй разместить файл фонового рисунка так, чтобы он находился в 1м архиве. по-моему, самое простое решение проблемы. biggrin.gif
DCoder
Как сделать, чтобы после установки программы, она не добавлялась в список "Установка и удаление"?
Kmike
в секции [Setup] добавь строчку CreateUninstallRegKey=no


мне вот что интересно. на 5й странице сообщение №147 товарищ zubr дает пример кода, касательно фонового рисунка


[Setup]
WindowVisible=no

[code]

function GetSystemMetrics(nIndex:Integer):Integer;
external 'GetSystemMetrics@user32.dll stdcall';

procedure InitializeWizard();
var
BackgroundBitmapImage: TBitmapImage;
s:string;
width, height:Integer;
begin
MainForm.BORDERSTYLE:=bsNone;
width:=GetSystemMetrics(61);
height:=GetSystemMetrics(62);
MainForm.Width:=width;
MainForm.Height:=height;
width:=MainForm.ClientWidth;
height:=MainForm.ClientHeight;
ExtractTemporaryFile('mostkorol2_1024.bmp');
s:=ExpandConstant('{tmp}')+'\mostkorol2_1024.bmp';
BackgroundBitmapImage := TBitmapImage.Create(MainForm);
BackgroundBitmapImage.Bitmap.LoadFromFile(s);
BackgroundBitmapImage.Left := 0;
BackgroundBitmapImage.Top := 0;
BackgroundBitmapImage.Width:=width;
BackgroundBitmapImage.Height:=height;
BackgroundBitmapImage.Parent := MainForm;
BackgroundBitmapImage.Stretch:=True;
MainForm.Visible:=True;
end;


у меня такая проблема: после страницы приветствия у мя идет страница с лицензионным соглашением, сам текст соглашения берется из текстового файла. так вот, из-за строчки MainForm.BORDERSTYLE:=bsNone; самого текста соглашения нет - пустое место. если убираю строчку, то текст появляется, но фоновый рисунок не на весь экран, а в окне. как бы это вылечить?
Ta-Snatch
Здравствуйте! Прочитал все 9 страниц, нашел вопрос и ответ на схожую проблему, но мне данное решение на подошло.

[Ini]
Filename: "{app}\wincmd.ini"; Components: plugins\wlx\wlx_ICLView; Section: "ListerPlugins"; Key: "1_detect"; String: ""MULTIMEDIA & ext="ICL" | ext="ICO" | force""


Пишу как приведено вышо, мне Инно выдает ошибку в Стринге, ставлю дополнительные кавычке в начале, компилирую, опять ошибка. Удаляю кавычке в начале и ставлю доп. в конце, результата "0". Добавляю в начале и в конце доп. кавычке - толку нет.

Вопрос: Как сделать так, что бы инно записал в *.ini файл строку со всеми кавычками (необходимо внести "MULTIMEDIA & ext="ICL" | ext="ICO" | force")?
Ta-Snatch
Спасибо, но уже разобрался благодаря ISTool smile.gif

Тема классная, но почему-то ее забросили. Отдельное спасибо товарищу zubr'у!
TRT
Всем привет!
Народ нужна ваша помощь.Неподскажете как можно сделать слайд-шоу в фоновом изображении и при этом минимизировать страницу прогресса в какой нибудь угол экрана.
Как можно эти две вещи скрестить?
Заранее спасибо!
GRomV
Помогите пожалуйсто Люди!!!!!!

Как можно убрать с MainForm название программы???
Т.Е На фоновом окне (по умолчанию синим цветом) пишется название проги. Как убрать эту надпись:

[Setup]
AppName=My Program
AppVerName=My Program 1.5
AppPublisher=My Company, Inc.
AppPublisherURL=http://www.mycompany.com
AppSupportURL=http://www.mycompany.com
AppUpdatesURL=http://www.mycompany.com
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
WindowVisible=true

НУЖНО убрать Это гребанное My Program с фонового окна!!!


Заранее благодарен!
GRomV
Че форум мертв?
TRT
Программеры ПЛИЗ!!! помогите с кодом на то, чтобы сделать маленькую страницу с прогресс-баром в правом нижнем углу экрана типа "Подготовка к установке" как в InstallShield которая появляется перед страницой приветствия на 5-7 секунд
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2009 IPS, Inc.