Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Написание скрипта для инсталлятора
Форум программистов > Системное программирование > Delphi и Pascal > Delphi - FAQ
Страницы: 1, 2, 3, 4, 5, 6
Kindly
У меня созрел вопрос "косметического" характера:
Видел инсталляторы (Inno Setup), в которых в фоновое окно вставлено изображение, причём отличающееся от изображения, которое на панели мастера.
Я только знаю, как вывести в фоновое окно изображение мастера:
Цитата
procedure InitializeWizard();
var
  BackgroundBitmapImage: TBitmapImage;
begin
  CreateTheWizardPages;
  BackgroundBitmapImage := TBitmapImage.Create(MainForm);
  BackgroundBitmapImage.Left := 50;
  BackgroundBitmapImage.Top := 100;
  BackgroundBitmapImage.AutoSize := True;
  BackgroundBitmapImage.Bitmap := WizardForm.WizardBitmapImage.Bitmap;
  BackgroundBitmapImage.Parent := MainForm;
end;

А как вывести внешнее изображение не знаю. Может Вы сталкивались с такой ситуацией?
И ещё один: при установке на панели выбора папки установки отображается количество требуемого дискового пространства. Как сделать, чтобы чуть выше отображалась информация о доступном пространстве на выбранном диске?
zubr
Цитата
Видел инсталляторы (Inno Setup), в которых в фоновое окно вставлено изображение, причём отличающееся от изображения, которое на панели мастера.

Вы уверены, что это было сделано в InnoSetup? В InnoSetup (4-ая версия) я такой возможности не нашел.
Цитата
при установке на панели выбора папки установки отображается количество требуемого дискового пространства. Как сделать, чтобы чуть выше отображалась информация о доступном пространстве на выбранном диске?

Не знаю, никогда не сталкивался с этим вопросом. Будет время посмотрю.
zubr
Цитата
В InnoSetup (4-ая версия) я такой возможности не нашел.

Извиняюсь, есть такая возможность.
[Setup]
WindowVisible=yes

[Files]
Source: "MyImage.bmp"; Flags: dontcopy

[code]
procedure InitializeWizard();
var
 BackgroundBitmapImage: TBitmapImage;
 BackgroundBitmapText: TNewStaticText;
 s:string;
 bitmap:TBitmap;
begin
 ExtractTemporaryFile(MyImage.bmp');
 s:=ExpandConstant('{tmp}')+'\MyImage.bmp';
 BackgroundBitmapImage := TBitmapImage.Create(MainForm);
 BackgroundBitmapImage.AutoSize := True;
 BackgroundBitmapImage.Bitmap.LoadFromFile(s);
 BackgroundBitmapImage.Left := 50;
 BackgroundBitmapImage.Top := 100;
 BackgroundBitmapImage.Parent := MainForm;
   BackgroundBitmapText := TNewStaticText.Create(MainForm);
 BackgroundBitmapText.Caption := 'TBitmapImage';
 BackgroundBitmapText.Left := BackGroundBitmapImage.Left;
 BackgroundBitmapText.Top := BackGroundBitmapImage.Top +    BackGroundBitmapImage.Height + 8;
 BackgroundBitmapText.Parent := MainForm;
end;

Здесь MyImage.bmp - внешнее изображение.
Цитата
при установке на панели выбора папки установки отображается количество требуемого дискового пространства. Как сделать, чтобы чуть выше отображалась информация о доступном пространстве на выбранном диске?

Сделать можно, но очень гиморно.
Kindly
Спасибо большое. Я уже хотел в доказательство Вам скриншоты на мыло выслать wink.gif. А со вторым вопросом напрягать Вас не буду.
Kindly
Хорошо. А как можно замостить фоновую картинку так, чтобы при любом изменении разрешения экрана она оставалась растянутой до краёв, чтобы не выходила за пределы фонового окна и чтобы меньше его не была? В виденных мной инсталляторах именно так и было. Я 2 часа промучался, но так и не достиг требуемого результата.
zubr
Цитата
Я 2 часа промучался, но так и не достиг требуемого результата.

Ну 2 часа это не много, бывает приходится мучиться 2 дня, а то и 2 недели cool.gif
Вот код решающий ваш вопрос:
procedure InitializeWizard();
var
BackgroundBitmapImage: TBitmapImage;
s:string;
bitmap:TBitmap;
begin
ExtractTemporaryFile(MyImage.bmp');
s:=ExpandConstant('{tmp}')+'\MyImage.bmp';
BackgroundBitmapImage := TBitmapImage.Create(MainForm);
BackgroundBitmapImage.Bitmap.LoadFromFile(s);
BackgroundBitmapImage.Left := 0;
BackgroundBitmapImage.Top := 0;
BackgroundBitmapImage.Width:=MainForm.ClientWidth;
BackgroundBitmapImage.Height:=MainForm.ClientHeight;
BackgroundBitmapImage.Parent := MainForm;
BackgroundBitmapImage.Stretch:=True;
end;
Kindly
Просто класс! То что нужно.
Snаke
Здраствуйте. Я в Inno Setup начал делать инсталляторы недавно и программировать на Delphi и Pascal не умею. Благодаря этому форуму научился делать фоновые рисунки. А можно ли сделать титульное название приложения поверх фонового рисунка или вообще убрать его (если это возможно). Помогите мне сделать два таких скрипта. sad.gif Заранее спасибо.
zubr
Создайте свой фоновый рисунок с названием или без и растяните его на весь экран. Как это делать смотрите на 2 ответа выше.
Snаke
Хотелось бы вообще удалить титульную надпись и не вспоминать о ней. Ну да черт с ней - сделал уже крутейший (по крайней мере для меня biggrin.gif ) инсталлятор для игрухи. У меня немного другой вопрос. Схимичил тут небольшой скриптик:
[Code]
function CheckSerial(Serial: String): Boolean;
begin
If (Serial='4422-93598-8995') or
  (Serial='8474-05768-1841')then
  Result:=True
else
 begin
  Result:=False;
 end;
end;

Таким способом мождо делать количество серийников в коде хоть до посинения. А возможно ли, чтобы инсталлятор проверял не какое-то конкретное число или буквы, а проверял бы введенный серийник по соответствующей маске (к примеру такой: '####-#####-#****', где #-цифры, а *-буквы и т.д.). Ну или что-то похожее. И сразу тут второй вопрос - как сделать шифрование инсталлятора. А то скачал с сайта файл ISCrypt.dll, а как его использовать не знаю. Спасибо!
zubr
Цитата
Хотелось бы вообще удалить титульную надпись и не вспоминать о ней.

procedure InitializeWizard();
begin
MainForm.BORDERSTYLE:=bsNone;
end;

Цитата
А возможно ли, чтобы инсталлятор проверял не какое-то конкретное число или буквы, а проверял бы введенный серийник по соответствующей маске (к примеру такой: '####-#####-#****', где #-цифры, а *-буквы и т.д.). Ну или что-то похожее.

function CheckSerial(Serial: String): Boolean;
var
 mask:string;
 i:Integer;
begin
Result:=True;
mask:='####-####-##****';
If Length(Serial)<>Length(mask) then
begin
 Result:=False;
 exit;
end;
For i:=1 to Length(mask) do
begin
 If StrGet(mask, i)='#' then
 If not ((Ord(StrGet(Serial, i))>=48) and (Ord(StrGet(Serial, i))<=57)) then
 begin
  Result:=False;
  exit;
 end;
 If StrGet(mask, i)='*' then
 If not ((StrGet(Serial, i)>='A') and (StrGet(Serial, i)<='Z')) then
 begin
  Result:=False;
  exit;
 end;
end;
end;

Цитата
И сразу тут второй вопрос - как сделать шифрование инсталлятора. А то скачал с сайта файл ISCrypt.dll, а как его использовать не знаю.

1. Файл ISCrypt.dll копируешь в каталог Inno Setup
2. В секцию [Setup] добавляешь:
[Setup]
Encryption=yes
Password=12345

После компиляции инсталлятор зашифрован.
Snаke
Вот вылез сегодня под утро на форум, почитал, что вы мне посоветовали. Еще раз ОГРОМНОЕ спасибо! biggrin.gif
Snаke
Попробовал эти скрипты, почти все нормально. Почти потому, что я наверное плохо объяснил и вы не так меня поняли. Под титульной надписью я имел в виду надпись, которая отображается в фоновом окне шрифтом ARIAL белого цвета, размер 29 (вроде) и курсивом. Но все равно благодарен - нашел несколько другое применение тому скрипту. Еще раз спасибо за скрипт с серийником, просто класс, осталось мне только придумать свой keygen и готово. А не получится его сделать, наплевать, сам буду придумывать серийники к своим дистрибутивам.
Все же Inno Setup крутейшая программка, окончательный выбор сделал на ней, хотя делал инсталляторы и в InstallShield Developer, и в Wise. Но Inno Setup - это рулез.
Guest
А вот для этой темы следующие обучающие документы на русском.
Статья для начинающих:
]]>http://sabbathblacklab.narod.ru/rus2/docinnosetup.rar]]>
Русский хелп для версии 5:
]]>http://sabbathblacklab.narod.ru/rus2/is5hlp.rar]]>
Guest_Юрий_*
Здравствуйте!

Папка на диске c:\ содержит некоторое количество текстовых файлов (изначально неизвестно сколько их). Часть файлов имеет внутри себя некий одинаковый ключ, а часть не имеет. Задача состоит в создании инсталятора, позволяющего выборочную установку. При этом число пунктов выбора должно соответствовать количеству файлов с одинаковым ключом, а названия этих пунктов должны быть считаны из 20-ых строк соответствующих текстовиков.

Кто-нибудь решал подобную задачу? Поделитесь возможными вариантами решения. Спасибо.
zubr
Цитата
Папка на диске c:\ содержит некоторое количество текстовых файлов (изначально неизвестно сколько их).

Не понял, на компьютере где будет запускаться ваш инсталлятор, диск c:\ содержит некоторое количество текстовых файлов?
Цитата
Задача состоит в создании инсталятора, позволяющего выборочную установку. При этом число пунктов выбора должно соответствовать количеству файлов с одинаковым ключом

Опять непонятно, ведь каждый пункт выбора в инсталляторе, должен быть связан с одним или несколькими файлами дистрибутива. Как же вы будете создавать дистрибутив не зная даже сколько будет пунктов выбора.
Или я не понимаю, или у вас непривильно поставлена задача.
Kindly
У меня вопросы следующего содержания:
Требуется поместить CheckBox на панель выбора директории для установки, допустим под строкой отображаемого пути и задать ему выполнение, например, включение/отключение функции MyProgCheck.
Конечно, у меня получалось это сделать, создавая новую страницу мастера, но там уже другие проблемы, да и гиморно очень (задать выполнение функции не получалось). Вообще реально поместить CheckBox на панель выбора директории для установки по умолчанию без создания дополнительной страницы мастера?
И сразу второй вопрос: Как задать выполнение какой-нибудь функции через CheckBox на чистой странице?
Guest_Юрий_*
To Zubr:

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

Необходимо создать инсталлятор. При написании скрипта известно, что текстовые файлы (которые должны войти в setup.exe) находяться на диске по конкретному пути (допустим, c:\CreateInstall), но ни имена, ни количество этих *.txt неизвестны. Таким образом, не знаю, как можно заранее знать количество пунктов выборочной установки, а задача стоит именно такая.
Guest_Юрий_*
Ещё интересует такая задача: как из конкретного файла по пути "C:\CreateIntall\ReadMe.txt" выцепить 20-ую строку для того, чтобы использовать её для названия пункта выборочной установки?
Guest_Юрий_*
Ещё интересует такая задача: как из конкретного файла по пути "C:\CreateIntall\ReadMe.txt" выцепить 20-ую строку для того, чтобы использовать её в качестве названия пункта выборочной установки?
zubr
Guest_Юрий_*
Цитата
Необходимо создать инсталлятор. При написании скрипта известно, что текстовые файлы (которые должны войти в setup.exe) находяться на диске по конкретному пути (допустим, c:\CreateInstall), но ни имена, ни количество этих *.txt неизвестны. Таким образом, не знаю, как можно заранее знать количество пунктов выборочной установки, а задача стоит именно такая.

Средствами InnoSetup такое не получится. Надо написать программу, которая обработает эти текстовые файлы (произведет необходимый поиск), сгенерит файл скрипта InnoSetup .iss, запустит сам InnoSetup в командном режиме, и после компиляции может даже запустить готовый инсталляционный файл на установку.
Цитата
Ещё интересует такая задача: как из конкретного файла по пути "C:\CreateIntall\ReadMe.txt" выцепить 20-ую строку для того, чтобы использовать её в качестве названия пункта выборочной установки?

Смотрите выше, в вашем случае это должна будет делать сторонняя программа.

Kindly
Потерпите немного, будет время, постараюсь ответить на ваши вопросы.
Guest_Юрий_*
To Zubr:

спасибо. будем думать и делать smile.gif

Появилась ещё пара вопросов.
1. После создания посредством Inno Setup, в свойствах файла инсталлятора на закладке "Версия" поле "Авторские права" остаётся незаполненным. Каким образом его можно заполнить?

2. Как убить на той же закладке в поле "Комментарий" значение "This installation was built with Inno Setup: ]]>http://www.innosetup.com"]]>?
zubr
Цитата
Появилась ещё пара вопросов.
1. После создания посредством Inno Setup, в свойствах файла инсталлятора на закладке "Версия" поле "Авторские права" остаётся незаполненным. Каким образом его можно заполнить?

2. Как убить на той же закладке в поле "Комментарий" значение "This installation was built with Inno Setup: ]]>http://www.innosetup.com"]]>?

Эти вопросы можно решить пропатчив скомпилированный InnoSetup файл, так как все эти данные находятся в ресурсе в Unicode. Могу сделать программку-патчер, не бесплатно конечно.
Цитата
Требуется поместить CheckBox на панель выбора директории для установки, допустим под строкой отображаемого пути и задать ему выполнение, например, включение/отключение функции MyProgCheck.
Конечно, у меня получалось это сделать, создавая новую страницу мастера, но там уже другие проблемы, да и гиморно очень (задать выполнение функции не получалось). Вообще реально поместить CheckBox на панель выбора директории для установки по умолчанию без создания дополнительной страницы мастера?
И сразу второй вопрос: Как задать выполнение какой-нибудь функции через CheckBox на чистой странице?

Вот код:
var
 cb:TCheckBox;

procedure cdClick(Sender: TObject);
begin
If cb.CHECKED then
MsgBox('cb.CHECKED', mbInformation, MB_OK)
else
MsgBox('not cb.CHECKED', mbInformation, MB_OK)
end;


procedure CurPageChanged(CurPageID: Integer);
var
 i:Integer;
begin
If CurPageID=wpSelectDir then
begin
 If cb=nil then
 begin
  cb:=TCheckBox.Create(WizardForm);
  cb.Parent:=WizardForm;
  cb.Left:=WizardForm.SELECTDIRLABEL.Left;
  cb.Top:=ScaleY(180);
  cb.CAPTION:='MyCheckBox';
  cb.ONCLICK:=@cdClick;
 end;
end
else
begin
 If cb<>nil then
 begin
  cb.Free;
  cb:=nil;
 end;
end;
end;
Guest_Юрий_*
To Zubr:
благодарю Вас.

Вопросов мало не бывает, поэтому ещё возник один:
В процессе установки какого либо приложения Мастер показывает строку прогресса (прогресс-бар). Над ним пишутся пути, куда устанавливаются те или иные файлы. Можно ли:
1. отключить отображение путей для всей установки (всех файлов)?
2. отключить отображение путей для конкретных файлов?
3. заменить строку отображения путей на нечто типа "Идёт процесс установки" для всех файлов?
4. заменить строку отображения путей на "Устанавливается компонент" для группы файлов или одного конкретного?
Kindly
Вновь спасибо Вам, zubr, за оказанную помощь, сейчас в отъезде, так что сполна опробую Ваш совет позже.

Guest_Юрий_*
Цитата
В процессе установки какого либо приложения Мастер показывает строку прогресса (прогресс-бар). Над ним пишутся пути, куда устанавливаются те или иные файлы. Можно ли:
1. отключить отображение путей для всей установки (всех файлов)?
2. отключить отображение путей для конкретных файлов?
3. заменить строку отображения путей на нечто типа "Идёт процесс установки" для всех файлов?
4. заменить строку отображения путей на "Устанавливается компонент" для группы файлов или одного конкретного?

Но ведь можно изменить это, заменив/изменив строки в файле локализации (языкового файла) тем же Inno Setup.

zubr
Цитата
Как убить на той же закладке в поле "Комментарий" значение "This installation was built with Inno Setup: ]]>http://www.innosetup.com"]]>?

Эти вопросы можно решить пропатчив скомпилированный InnoSetup файл, так как все эти данные находятся в ресурсе в Unicode. Могу сделать программку-патчер, не бесплатно конечно.

А разве пропатчивание инсталлятора не снимет защиту проверки CRC суммы?
Guest_Юрий_*
2 Kindly:

>Но ведь можно изменить это, заменив/изменив строки в файле локализации
>(языкового файла) тем же Inno Setup.

Насколько я помню, в языковом файле (*.isl) действительно можно изменить строки, выводимые в окнах Мастера, однако, опциональную возможность отображения или сокрытия пути установки файлов, там не настроить...
Guest_Юрий_*
2 Kindly:

...Также редактирование языкового файла не даст возможности применения конкретной строки в момент установки конкретного файла... Поэтому, эта задача несколько сложней той, о которой Вы сказали...
Благодарю Вас за совет!
Guest_Юрий_*
>А разве пропатчивание инсталлятора не снимет защиту проверки CRC суммы?

Что-то мне подсказывает, что пропатчивание автоматически снимает легальность использования Inno Setup для создания инсталляторов коммерческих продуктов...
zubr
Цитата
В процессе установки какого либо приложения Мастер показывает строку прогресса (прогресс-бар). Над ним пишутся пути, куда устанавливаются те или иные файлы. Можно ли:
1. отключить отображение путей для всей установки (всех файлов)?
2. отключить отображение путей для конкретных файлов?
3. заменить строку отображения путей на нечто типа "Идёт процесс установки" для всех файлов?
4. заменить строку отображения путей на "Устанавливается компонент" для группы файлов или одного конкретного?

Честно говоря юзая настроечный файл это сделать не пробовал, но тут можно пойти тем же путем как и у Kindly c CheckBox, перехватывать окна и менять надписи, будет время может поюзаю, тогда чего нить выложу.
Цитата
А разве пропатчивание инсталлятора не снимет защиту проверки CRC суммы?

Ну у скомпилированного файла InnoSetup нет защиты на проверку целостности. Короче патчится он без проблем.
Guest_Юрий_*
отображение путей при установке файлов можно скрыть, используя следующюю конструкцию:

[Code]
procedure InitializeWizard;
begin
WizardForm.ProgressGauge.Visible := False;
end;
Guest_Юрий_*
... это действует на процесс установки всех файлов...
Guest_Юрий_*
To Zubr:

Thanx
Guest_Юрий_*
Такой ещё вопрос:
Установил я какой-то компонент при выборочной установке. Затем, через некоторое время, решил, что надо бы ещё из списка установить компонент. Идёт процесс установки второго компонента, и тут я нажимаю кнопу "Отмена"... Пошёл откат (Rollback)... Самое паршивое, что этим убивается и заранее установленный компонент... Как избежать того, чтобы при отмене установки какого-то компонента не удалялся заранее установленный компонент?

Есть, конечно, по этому поводу мысли о пихании инфы в реестр после каждой установки компонента, но вдруг кто-нибудь нашёл поинтереснее схему?
zubr
Цитата
Установил я какой-то компонент при выборочной установке. Затем, через некоторое время, решил, что надо бы ещё из списка установить компонент. Идёт процесс установки второго компонента, и тут я нажимаю кнопу "Отмена"... Пошёл откат (Rollback)... Самое паршивое, что этим убивается и заранее установленный компонент... Как избежать того, чтобы при отмене установки какого-то компонента не удалялся заранее установленный компонент?

Точно не уверен (не смотрел), но по моему копирование файлов на диск производится на самом последнем этапе, так что возможно, когда вы нажимаете Отмена, еще на диске ничего и не было.
Guest_Юрий_*
To Zubr:

Вы меня не поняли, видимо. Суть такая: установил я какой-то компонент программы, пользовался им некоторое время, затем мне понадобилось установить какой-то другой компонент вдобавок из того же install.exe. А вопрос в следующем: как сделать так, чтобы при повторном запуске install'a и затем нажатии кнопки Отмена не удалялись компоненты, установленные и использовавшиеся мной после первой инсталляции...
Guest_Юрий_*
замену значения "This installation was built with Inno Setup: ]]>http://www.innosetup.com"]]> в поле "Комментарий" можно произвести без всяких ухищрений программой-редактором ресурсов Restorator.
Guest_Юрий_*
и вновь вопрос: как отменить деинсталяцию в случае, если один из установленных файлов используется?
Kindly
Guest_Юрий_*
Цитата
замену значения "This installation was built with Inno Setup: ]]>http://www.innosetup.com"]]> в поле "Комментарий" можно произвести без всяких ухищрений программой-редактором ресурсов Restorator.

Я не знаю, какую версию вы используете, но в версии 5.14 внесение любых изменений чревато сообщением о поврежденном инсталляторе, и в FAQ ясно написано, что сам инсталлятор имеет проверку изменения собственной CRC суммы dry.gif .
Kindly
Guest_Юрий_*
Цитата
После создания посредством Inno Setup, в свойствах файла инсталлятора на закладке "Версия" поле "Авторские права" остаётся незаполненным. Каким образом его можно заполнить?

Насчет авторских прав не знаю но версию можно изменить так:
[Setup]
VersionInfoVersion=1.5.0.0
Guest_Юрий_*
To Kindly:

5.14 (ISSP 5.1.2.0)...
доверяй, но проверяй smile.gif раз на раз не приходится... иногда и вылезает нечто типа "The setup files are corrupted. Please obtain a new copy of the program"..

VersionInfoVersion эт да, имына так и делается... А комменты и авторское право отключены автором...
Guest
To Zubr:

Из FAQ для Inno Setup:
Вопрос: Что именно происходит, если пользователь нажмет Cancel в процессе установки?
Ответ: При нажатии Cancel инсталятор отменяет изменения, сделанные им в ходе установки, почти как деинсталятор при удалении программы. Поэтому частично установленное приложение не останется в системе пользователя.

В этом-то мой вопрос и состоит, как избежать того, о чём говорится в ответе FAQ...
Kindly
zubr
Цитата
Требуется поместить CheckBox на панель выбора директории для установки, допустим под строкой отображаемого пути и задать ему выполнение, например, включение/отключение функции MyProgCheck.

Похоже, неправильно дал пояснение... Имеется в виду, что функция, которая должна выполнятся через CheckBox, должна выполняться непосредственно при установке - не сразу, на подобии выбора компонентов. Такое можно проделать?
zubr
Цитата
Я не знаю, какую версию вы используете, но в версии 5.14 внесение любых изменений чревато сообщением о поврежденном инсталляторе, и в FAQ ясно написано, что сам инсталлятор имеет проверку изменения собственной CRC суммы  .

Пришлите мне свой инсталлятор, я его пропатчу.
zubr
Цитата
Похоже, неправильно дал пояснение... Имеется в виду, что функция, которая должна выполнятся через CheckBox, должна выполняться непосредственно при установке - не сразу, на подобии выбора компонентов. Такое можно проделать?

Можно, будет время кину код.
Цитата
Из FAQ для Inno Setup:
Вопрос: Что именно происходит, если пользователь нажмет Cancel в процессе установки?
Ответ: При нажатии Cancel инсталятор отменяет изменения, сделанные им в ходе установки, почти как деинсталятор при удалении программы. Поэтому частично установленное приложение не останется в системе пользователя.

В этом-то мой вопрос и состоит, как избежать того, о чём говорится в ответе FAQ...

Ну так глубоко я не копал. Сейчас у меня срочная работа, разгребусь, посмотрю.
zubr
Вот пропатченный файл инсталлятора:
Kindly
Извиняюсь... Не прав был. Оказывается можно в свойствах файла применить акт "вандализма", только аккуратно (желательно сохранять количество символов в строке). Ну, буду исправлятьсяsmile.gif:

В Resource Hacker-e для отображения авторских прав нужно вставить в ресурсе "Version Info" под строкой:
VALUE "InternalName"
следующее:
VALUE "LegalCopyright", "My Rights" \\где My Rights - типа авторство

Чтобы сделать русский язык в свойствах пишем там же вместо

VALUE "Translation", 0x0409 0x04E4
=>
VALUE "Translation", 0x0419 0x04E4

Производитель:
VALUE "CompanyName", "Заполняем пустые поля"

Или так:

VALUE "Автор инсталлятора", "I'm"

p.s. а проверка на изменение все-таки есть, только, видимо, не такая чувствительная.
p.p.s. удаление контекста "About..." забавно, но в "пропатченом" инсталляторе этого не наблюдалось.
Guest_Юрий_*
To Kindly: smile.gif
Guest
To zubr:

оК
Kindly
Может, следующий вопрос из-за моей невнимательности, но тем не менее.
Ярлыки, создаваемые в меню "Пуск" зачастую (особенно если их много) могут быть расформированы как угодно. Вопрос: можно ли конкретно задать размещение ярлыков в панели "Пуск" в определенном порядке?
Guest_Юрий_*
очень захотелось "убить" MessageBox, предупреждающий об удалении файлов перед деинсталляцией, а именно "Are you sure you want to completely remove %1 and all of its components?"... Как сделать так, чтобы подтвержения на удаление не требовалось (соответственно и окно требования подтвержения не появлялось)?
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2009 IPS, Inc.