» Inno Setup (создание инсталяционных пакетов)
а как непосредственно по тихому прикрутить в инсталляцию файл реестра..(secu.eg.reg) ?
чтобы в конце инсталляции он по тихому запустился и внёс данные в реестр
спасибо
чтобы в конце инсталляции он по тихому запустился и внёс данные в реестр
спасибо
Genri, Victor_Dobrov, Sampron, omals, товарищи гранды, неужели никто не сможет мне помочь?
2ALL
ПОЖАЛУЙСТА, подскажите, как создать форму для выбора определённого файлы (что-то вроде обзора файлов). Если более конкретно выразиться надо, чтобы как при установке Касперского 7 была возможность выбрать файл ("Использовать полученный ранее ключ").
Добавлено:
putes
А зачем импортировать в реестр значения из файла, когда в Inno Setup есть секция [Registry]. К тому же в ISTool есть импортёр кусков реестра, который сразу переводит значения из реестра в соответствующую секцию.
ПОЖАЛУЙСТА, подскажите, как создать форму для выбора определённого файлы (что-то вроде обзора файлов). Если более конкретно выразиться надо, чтобы как при установке Касперского 7 была возможность выбрать файл ("Использовать полученный ранее ключ").
Добавлено:
putes
А зачем импортировать в реестр значения из файла, когда в Inno Setup есть секция [Registry]. К тому же в ISTool есть импортёр кусков реестра, который сразу переводит значения из реестра в соответствующую секцию.
Corona Skin & Check System Requirements Теперь в качестве фона могут быть установлены BMP-изображение, Скринсэвер, или AVI-файл. Достаточно прописать путь к файлу (AVI-файл в инсталлятор не включается).
AlexDJ666, насчёт фоновой картинки уже отвечали.
Примеры подсказки для компонентов в стиле NSIS приводились.
Насчёт всплывающего эскиза картинки подумаю...
AlexDJ666, насчёт фоновой картинки уже отвечали.
Примеры подсказки для компонентов в стиле NSIS приводились.
Насчёт всплывающего эскиза картинки подумаю...
Ответьте пожалуйста на два вопроса:
1) - Есть ли возможность в INNO Setup проверки версии NET.Framework'а
2) - На счёт фоновой установки кодеков и DirectX, по примеру Kindly вроде бы всё понятно... Но в каком виде нужно подавать INNO инсталлятор (к примеру DirectX), что бы он автоматически обновлял уже зная куда надо DirextX системы? Тоже самое и с кодеками... Помогите пожалуйста...
1) - Есть ли возможность в INNO Setup проверки версии NET.Framework'а
2) - На счёт фоновой установки кодеков и DirectX, по примеру Kindly вроде бы всё понятно... Но в каком виде нужно подавать INNO инсталлятор (к примеру DirectX), что бы он автоматически обновлял уже зная куда надо DirextX системы? Тоже самое и с кодеками... Помогите пожалуйста...
Список версий .NET Framework можно получить так:
[Setup]
AppName=.NETFramework
AppVerName=.NETFramework
CreateAppDir=false
[Code]
var
i, n: Integer; S: String; Names: TArrayOfString;
Function InitializeSetup: Boolean;
Begin
if RegGetSubkeyNames(HKLM, 'Software\Microsoft\.NETFramework\policy', Names) then
begin
for i:= 0 to GetArrayLength(Names)-1 do
if Pos('v',Names[i]) > 0 then begin Names[n]:= Names[i]; n:= n + 1; end
SetArrayLength(Names, n);
for i:= 0 to GetArrayLength(Names)-1 do S:= S + Names[i] + #13#10;
end else
S:= 'Нет установленных версий'
MsgBox('Версии .NET Framework:'#13#10 + S, mbInformation, MB_OK);
End;
[Setup]
AppName=.NETFramework
AppVerName=.NETFramework
CreateAppDir=false
[Code]
var
i, n: Integer; S: String; Names: TArrayOfString;
Function InitializeSetup: Boolean;
Begin
if RegGetSubkeyNames(HKLM, 'Software\Microsoft\.NETFramework\policy', Names) then
begin
for i:= 0 to GetArrayLength(Names)-1 do
if Pos('v',Names[i]) > 0 then begin Names[n]:= Names[i]; n:= n + 1; end
SetArrayLength(Names, n);
for i:= 0 to GetArrayLength(Names)-1 do S:= S + Names[i] + #13#10;
end else
S:= 'Нет установленных версий'
MsgBox('Версии .NET Framework:'#13#10 + S, mbInformation, MB_OK);
End;
Victor_Dobrov
Просто ради интереса переименовал один из локальных дисков в '11111111111111111111111111111111' после чего запустил инсталлятор CoronaSkin и дошёл до показа списка дисков. В результате перестал отображаться тип файловой системы и вместо названия диска почему-то пишет - "без метки". Можно ли как-нибудь устранить подобное?
Добавлено:
P.S.: Вопрос снимается. Вроде решил:
VolumeName := StringOfChar(' ', 33)
GetVolumeInformation(Path, VolumeName, 33, VolumeSerialNo, MaxComponentLength, FileSystemFlags, FileSystemName, 31)
Или неправильно?
P.S.S.: Извиняюсь, что достаю тупыми вопросами, но в системе у меня стоит:
- .NET Compact Framework 2.0 SP1
- .NET Framework 3.0
А в месадж-боксе отображается только первый. Это неточность скрипта или глюк системы?
Просто ради интереса переименовал один из локальных дисков в '11111111111111111111111111111111' после чего запустил инсталлятор CoronaSkin и дошёл до показа списка дисков. В результате перестал отображаться тип файловой системы и вместо названия диска почему-то пишет - "без метки". Можно ли как-нибудь устранить подобное?
Добавлено:
P.S.: Вопрос снимается. Вроде решил:
VolumeName := StringOfChar(' ', 33)
GetVolumeInformation(Path, VolumeName, 33, VolumeSerialNo, MaxComponentLength, FileSystemFlags, FileSystemName, 31)
Или неправильно?
P.S.S.: Извиняюсь, что достаю тупыми вопросами, но в системе у меня стоит:
- .NET Compact Framework 2.0 SP1
- .NET Framework 3.0
А в месадж-боксе отображается только первый. Это неточность скрипта или глюк системы?
Victor_Dobrov, я наверное не правильно поставил свой вопрос...
Мне нужно, что бы инсталлятор проверял версию NET.Framework'а, и если она ниже заданной... То инсталятор выводил сообщение: " Версия Frameworka... не соответсвует этой программе... бла бла бла... скачать можно здесь: www.microsoft.com\... бла бла бла "
Как это можно реализовать?
Мне нужно, что бы инсталлятор проверял версию NET.Framework'а, и если она ниже заданной... То инсталятор выводил сообщение: " Версия Frameworka... не соответсвует этой программе... бла бла бла... скачать можно здесь: www.microsoft.com\... бла бла бла "
Как это можно реализовать?
Подскажите пожалуйста как можно сделать
Если Tasks был отмечен то тогда после копирования файлов должен появится текст (InfoAfterFile) а если Tasks не был отмечен то текста быть не должно
Если Tasks был отмечен то тогда после копирования файлов должен появится текст (InfoAfterFile) а если Tasks не был отмечен то текста быть не должно
Chanka
А как у тебя таск называется? А ещё лучше бы весь код...
А как у тебя таск называется? А ещё лучше бы весь код...
iTASmania_Inc
Вот так
[Files]
Source: "gamedata\*"; DestDir: "{app}"; Tasks: "mod"; Flags: recursesubdirs createallsubdirs
[Tasks]
Name: "mod"; Description: "Установить модификацию S.T.A.L.K.E.R. версии 1.0004"; GroupDescription: "Дополнительные программы:";
Вот так
[Files]
Source: "gamedata\*"; DestDir: "{app}"; Tasks: "mod"; Flags: recursesubdirs createallsubdirs
[Tasks]
Name: "mod"; Description: "Установить модификацию S.T.A.L.K.E.R. версии 1.0004"; GroupDescription: "Дополнительные программы:";
Chanka
Попробуй так:
function ShouldSkipPage(PageID: Integer): Boolean;
begin
if (PageID = wpInfoAfter) and (not ISTaskSelected('mod')) then Result := True
end;
Попробуй так:
function ShouldSkipPage(PageID: Integer): Boolean;
begin
if (PageID = wpInfoAfter) and (not ISTaskSelected('mod')) then Result := True
end;
iTASmania_Inc
Респект
Респект
Corona Skin & Check System Requirements iTASmania_Inc, теперь можешь именовать диски и файлы как угодно. P.S. добавил две функции: CheckMemorySize(треб.МБ) и CheckCPU(треб.Мгц), я их использую для компонентов с флагом CheckableAlone.
Victor_Dobrov
Можно спросить. Почему здесь на диске D: 2 числа после точки ведь должно быть 3
http://img75.imageshack.us/my.php?image=coronayg8.jpg
Можно спросить. Почему здесь на диске D: 2 числа после точки ведь должно быть 3
http://img75.imageshack.us/my.php?image=coronayg8.jpg
Chanka, всё правильно, в значении 18,630 функция FloatToStr отбрасывает ноль сама.
Victor_Dobrov
Понятно. Просто в сталкере всегда 3 вот я и подумал что что-то не так
http://img358.imageshack.us/my.php?image=stalkerjpgkr1.jpg
Понятно. Просто в сталкере всегда 3 вот я и подумал что что-то не так
http://img358.imageshack.us/my.php?image=stalkerjpgkr1.jpg
Я не хочу делать так, как в Сталкере, я делаю как положено.
Для Putes
Если ещё актуально (как импортировать reg файл), то я сделал бы так
[Files]
Source: secu.eg.reg; DestDir: {app}; Flags: deleteafterinstall; (если надо удалить)
[Run]
Filename: "{sys}\regedt32.exe"; Parameters: "/s ""{app}\secu.eg.reg""";
Если ещё актуально (как импортировать reg файл), то я сделал бы так
[Files]
Source: secu.eg.reg; DestDir: {app}; Flags: deleteafterinstall; (если надо удалить)
[Run]
Filename: "{sys}\regedt32.exe"; Parameters: "/s ""{app}\secu.eg.reg""";
Victor_Dobrov
Цитата:
Заметил изменения в определении видеокарты, а вышеуказанных функций не нашёл.
Всё, функции найдены, спасибо большое.
Добавлено:
Chanka
Инсталл от СТАЛКЕРа не есть образец для подражания, потому что сама система и инсталл Corona определяют своюодное место как 32.4Гб, СТАЛКЕРовский - почему-то 33.2Гб + могу привести ещё примеров.
Цитата:
P.S. добавил две функции: CheckMemorySize(треб.МБ) и CheckCPU(треб.Мгц)
Заметил изменения в определении видеокарты, а вышеуказанных функций не нашёл.
Всё, функции найдены, спасибо большое.
Добавлено:
Chanka
Инсталл от СТАЛКЕРа не есть образец для подражания, потому что сама система и инсталл Corona определяют своюодное место как 32.4Гб, СТАЛКЕРовский - почему-то 33.2Гб + могу привести ещё примеров.
iTASmania_Inc
Просто там ровно цифры идут. если на одном диске показывает 0.000 то и на остальных тоже самое. Только это мне в нём нравится.
Просто там ровно цифры идут. если на одном диске показывает 0.000 то и на остальных тоже самое. Только это мне в нём нравится.
Chanka, а мне наоборот, не нравится такой вид строки: 18,100 Гб, или такой: 18,000 Гб. Для меня лучше так: 18,1 Гб ... 18 Гб
Victor_Dobrov
Тут да лучше так 00.00
Тут да лучше так 00.00
Chanka
Цитата:
В гигабайте не 100 Мб, поэтому показывать после запятой всего 2 знака не совсем правильно, ведь это не проценты.
Цитата:
Тут да лучше так 00.00
В гигабайте не 100 Мб, поэтому показывать после запятой всего 2 знака не совсем правильно, ведь это не проценты.
iTASmania_Inc
Перезалей рисунок плииз
Перезалей рисунок плииз
Victor_Dobrov
Там так до 10 мб 0.000 а после 00.00. Разве так плохо?
Там так до 10 мб 0.000 а после 00.00. Разве так плохо?
Victor_Dobrov,Chanka
Что Вы спорите как лучше,как правильнее отображать знаки после запятой. На вкус и цвет друзей нет.
Для исключения таких споров я некоторое время назад для скрипта NightW0lf писал такую функцию:
Код:
function JustifySize(Size1: double; count: integer): string;
var i, n: integer;
s1, s2, s3: string;
begin
n := 1;
for i := 1 to COunt do
begin
n := n * 10;
end;
s1 := floattostr(round(Size1 * n) / n);
if pos(',', s1) <> 0 then
begin
s2 := copy(s1, 1, pos(',', s1) - 1);
s3 := copy(s1, pos(',', s1) + 1, length(s1) - pos(',', s1));
end
else
begin
s2 := s1;
s3 := '000'
end;
n := length(s2);
if n < 3 then for i := 1 to (3 - n) do s2 := ' ' + s2;
n := length(s3);
if n < COunt then for i := 1 to (Count - n) do s3 := s3 + '0';
//MsgBox(s1+#13#10+s2+' --- '+s3 , mbInformation, MB_OK);
result := s2 + ',' + s3;
end;
Что Вы спорите как лучше,как правильнее отображать знаки после запятой. На вкус и цвет друзей нет.
Для исключения таких споров я некоторое время назад для скрипта NightW0lf писал такую функцию:
Код:
function JustifySize(Size1: double; count: integer): string;
var i, n: integer;
s1, s2, s3: string;
begin
n := 1;
for i := 1 to COunt do
begin
n := n * 10;
end;
s1 := floattostr(round(Size1 * n) / n);
if pos(',', s1) <> 0 then
begin
s2 := copy(s1, 1, pos(',', s1) - 1);
s3 := copy(s1, pos(',', s1) + 1, length(s1) - pos(',', s1));
end
else
begin
s2 := s1;
s3 := '000'
end;
n := length(s2);
if n < 3 then for i := 1 to (3 - n) do s2 := ' ' + s2;
n := length(s3);
if n < COunt then for i := 1 to (Count - n) do s3 := s3 + '0';
//MsgBox(s1+#13#10+s2+' --- '+s3 , mbInformation, MB_OK);
result := s2 + ',' + s3;
end;
Страницы: 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
Предыдущая тема: Mail.ru агент - вход не выполнен
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.