Кто нить знает как перенести большой reg-файл в Inno setup?
» Inno Setup (создание инсталяционных пакетов)
CapsLosk
а тебе его бязательно переносить?
нельзя разве выполнить WinExec ПУТЬ_К_ФАЙЛУ -s ???
все данные из reg-файла "тихо" занесутся в реест...
а тебе его бязательно переносить?
нельзя разве выполнить WinExec ПУТЬ_К_ФАЙЛУ -s ???
все данные из reg-файла "тихо" занесутся в реест...
У меня есть код на котором в процессе инсталляции играет музыка и есть кнопки для управлении ей.
Вопрос: Как эти кнопки украсить картинкой (bmp, ico, любой...)
Вопрос: Как эти кнопки украсить картинкой (bmp, ico, любой...)
У меня вопрос:
Серийный номер который был введен - как сделать чтобы он был записан в реестре.
Например так: 'HKEY_LOCAL_MACHINE\SOFTWARE\Nullsoft\Winamp' 'Serial' '{Серийный номер}'
Серийный номер который был введен - как сделать чтобы он был записан в реестре.
Например так: 'HKEY_LOCAL_MACHINE\SOFTWARE\Nullsoft\Winamp' 'Serial' '{Серийный номер}'
Chuvakstepan
Цитата:
Навряд ли это можно сделать в инно.
Цитата:
У меня есть код на котором в процессе инсталляции играет музыка и есть кнопки для управлении ей.
Вопрос: Как эти кнопки украсить картинкой (bmp, ico, любой...)
Навряд ли это можно сделать в инно.
Chuvakstepan,
Цитата:
Можешь код дать?
Цитата:
У меня есть код на котором в процессе инсталляции играет музыка и есть кнопки для управлении ей.
Можешь код дать?
Chanka
Цитата:
http://forum.ru-board.com/topic.cgi?forum=5&topic=4801&start=1440#15
Цитата:
Можешь код дать?
http://forum.ru-board.com/topic.cgi?forum=5&topic=4801&start=1440#15
Sero
можешь в Delphi написать маленькую dll'ку а в инно её использовать...
дело пяти минут...
можешь в Delphi написать маленькую dll'ку а в инно её использовать...
дело пяти минут...
DroN_S
Цитата:
Ты меня не понял, я хочу чтобы инстталятор писал в реестре серийный номер
который был мною введен на странице UserInfoPage
Цитата:
можешь в Delphi написать маленькую dll'ку а в инно её использовать...
Ты меня не понял, я хочу чтобы инстталятор писал в реестре серийный номер
который был мною введен на странице UserInfoPage
DroN_S
Цитата:
Просто запустить reg файл не получится, т.к в нем четко описаны пути (например нахождение самой программы) - но ты же не знаешь в какую папку пользователь установит программу!!! а такой вариант как {app} в рег-файле не вкатит!
Цитата:
а тебе его бязательно переносить?
нельзя разве выполнить WinExec ПУТЬ_К_ФАЙЛУ -s ???
все данные из reg-файла "тихо" занесутся в реест...
Просто запустить reg файл не получится, т.к в нем четко описаны пути (например нахождение самой программы) - но ты же не знаешь в какую папку пользователь установит программу!!! а такой вариант как {app} в рег-файле не вкатит!
Народ, постоянные ссылки (пока жив мой сайт) на руководства, справки и т.д здесь
Цитата:
И чё никакой бэкгроунд нельзя поставить?
Это же Паскаль, искал на сайтах по Паскалю - итог "0"
Я в Visual Basic работаю - там есть такая функция на button (picture называется)
Цитата:
У меня с Istool проблем не было, как могла нарушится структура reg файла? Незнаю. Но если в этом файле написаны пути (типа "С:\Програм Филез\Винамп\") то их переписывать все прийдется на {app}
Добавлено:
Цитата:
Идея хорошая - безусловно.В справке есть функции реестра по Паскалю RegGetSubkeyNames RegGetValueNames RegWriteStringValue RegWriteMultiStringValue. Но как их реализовывать - не понимаю, может Гуру подскажут?
Цитата:
Навряд ли это можно сделать в инно.
И чё никакой бэкгроунд нельзя поставить?
Это же Паскаль, искал на сайтах по Паскалю - итог "0"
Я в Visual Basic работаю - там есть такая функция на button (picture называется)
Цитата:
Кто нить знает как перенести большой reg-файл в Inno setup?
У меня с Istool проблем не было, как могла нарушится структура reg файла? Незнаю. Но если в этом файле написаны пути (типа "С:\Програм Филез\Винамп\") то их переписывать все прийдется на {app}
Добавлено:
Цитата:
Ты меня не понял, я хочу чтобы инстталятор писал в реестре серийный номер
который был мною введен на странице UserInfoPage
Идея хорошая - безусловно.В справке есть функции реестра по Паскалю RegGetSubkeyNames RegGetValueNames RegWriteStringValue RegWriteMultiStringValue. Но как их реализовывать - не понимаю, может Гуру подскажут?
Цитата:
В справке есть функции реестра по Паскалю RegGetSubkeyNames RegGetValueNames RegWriteStringValue RegWriteMultiStringValue. Но как их реализовывать - не понимаю
это API-функции по работе с реестром...
объявляются так
Код:
function RegWriteStringValue(const RootKey: Integer; const SubKeyName, ValueName, Data: String): Boolean;
function RegGetSubkeyNames(const RootKey: Integer; const SubKeyName: String; var Names: TArrayOfString): Boolean;
function RegGetValueNames(const RootKey: Integer; const SubKeyName: String; var Names: TArrayOfString): Boolean;
function RegWriteMultiStringValue(const RootKey: Integer; const SubKeyName, ValueName, Data: String): Boolean;
Chuvakstepan
Цитата:
Поповоду {app} это и так ясно, что касается глюков - пример:
запуская просто рег файл - все зашибись, а через ISTool нихрена. Позже сравнивая файлы после установки инсталлятора - разница очевидна! в основном это лишние \\ или ///
Добавлено:
Кто нить подскажите как сделать такую вещь:
Есть две папки с различним дистрибутивом - как сделать в одном инсталляторе их установку по выбору??? (т.е если выбрать первый, то установиться первый, если второй - то второй если оба - то оба)? Если не затруднит покажите на примере!?
Цитата:
У меня с Istool проблем не было, как могла нарушится структура reg файла? Незнаю. Но если в этом файле написаны пути (типа "С:\Програм Филез\Винамп\") то их переписывать все прийдется на {app}
Поповоду {app} это и так ясно, что касается глюков - пример:
запуская просто рег файл - все зашибись, а через ISTool нихрена. Позже сравнивая файлы после установки инсталлятора - разница очевидна! в основном это лишние \\ или ///
Добавлено:
Кто нить подскажите как сделать такую вещь:
Есть две папки с различним дистрибутивом - как сделать в одном инсталляторе их установку по выбору??? (т.е если выбрать первый, то установиться первый, если второй - то второй если оба - то оба)? Если не затруднит покажите на примере!?
Sero
Спасибо тебе за помощь, все в принципе норм, но WizSmallImage не отображается корректно, помоги пожалуйста это исправить. Вот как получается смотри здесь
http://kolmax.ifolder.ru/1004692
PS Не подскажешь где потянуть список всех значений WizardForm, как например вот это
WizardForm.WelcomeLabel1.Visible:=False;
Спасибо тебе за помощь, все в принципе норм, но WizSmallImage не отображается корректно, помоги пожалуйста это исправить. Вот как получается смотри здесь
http://kolmax.ifolder.ru/1004692
PS Не подскажешь где потянуть список всех значений WizardForm, как например вот это
WizardForm.WelcomeLabel1.Visible:=False;
Jeff_Trust
Цитата:
[Code]
procedure InitializeWizard();
begin
WizardForm.WizardSmallBitmapImage.Left:=0;
WizardForm.WizardSmallBitmapImage.Top:=0;
WizardForm.WizardSmallBitmapImage.Width:=497;
WizardForm.WizardSmallBitmapImage.Height:=58;
WizardForm.PageDescriptionLabel.Visible:=False;
WizardForm.PageNameLabel.Visible:=False;
end;
использован рисунок размером 497х58
Цитата:
Спасибо тебе за помощь, все в принципе норм, но WizSmallImage не отображается корректно, помоги пожалуйста это исправить.
[Code]
procedure InitializeWizard();
begin
WizardForm.WizardSmallBitmapImage.Left:=0;
WizardForm.WizardSmallBitmapImage.Top:=0;
WizardForm.WizardSmallBitmapImage.Width:=497;
WizardForm.WizardSmallBitmapImage.Height:=58;
WizardForm.PageDescriptionLabel.Visible:=False;
WizardForm.PageNameLabel.Visible:=False;
end;
использован рисунок размером 497х58
Люди....
Кто нить подскажите как сделать такую вещь:
Есть две папки с различним дистрибутивом - как сделать в одном инсталляторе их установку по выбору??? (т.е если выбрать первый, то установиться первый, если второй - то второй если оба - то оба)? Если не затруднит покажите на примере!?
Кто нить подскажите как сделать такую вещь:
Есть две папки с различним дистрибутивом - как сделать в одном инсталляторе их установку по выбору??? (т.е если выбрать первый, то установиться первый, если второй - то второй если оба - то оба)? Если не затруднит покажите на примере!?
CapsLosk
Цитата:
Я так делал инсталляторы игр с вариантом выбора Русская/Английская версия.
Цитата:
Секция [Types]
Эта секция необязательна. Она определяет типы установки, которые инсталятор покажет на странице Выбор компонентов.При компиляции, если вы укажете компоненты в секции [Components], но не укажите к каким типам установки они относятся, типы будут созданы автоматически (по умолчанию).
Секция [Components]
Эта секция не обязятельна. Она определяет компоненты, которые инсталятор отобразит на странице Выбор компонентов для выборочной установки
Параметры секции [Components]
Описание:
Список имен компонентов, разделенных пробелами, в котором компилятору указывается, к какому из компонентов относится параметр. Параметр будет запущен, если пользователь выберет компонент, в который он включен (например файл инсталируется).
Параметр без Components будет запущен всегда, не учитывая случаев с параметром Tasks (см. ниже)
Components игнорируется, если секция [Components] пустая.
Например:
[Files]
Source: "MYPROG.EXE"; DestDir: "{app}"; Components: main
Source: "MYPROG.HLP"; DestDir: "{app}"; Components: help
Source: "README.TXT"; DestDir: "{app}"
Я так делал инсталляторы игр с вариантом выбора Русская/Английская версия.
Sero
Долго думал над твоей задачкой и вот оно - решение записи в реестр серийного номера, введенного в UserInfoSerial:
(должно быть userinfopage=true
Цитата:
CapsLock
Попробуй так:
Цитата:
И еще моя проблема:
Есть код на восстановление файлов через Бэкап
Я думаю он не работает из-за последовательности, т.к. он сначала копирует обновленный файл в папку с игрой а потом этот же файл перемещает в папку Бэкап и при удалении файл остаётся таким-же:
Цитата:
Долго думал над твоей задачкой и вот оно - решение записи в реестр серийного номера, введенного в UserInfoSerial:
(должно быть userinfopage=true
Цитата:
[Code]
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep=ssInstall
then
begin
RegWriteStringValue( HKLM, 'SOFTWARE\Nullsoft\Winamp', 'Serial', ExpandConstant('{userinfoserial}'));
end;
end;
CapsLock
Попробуй так:
Цитата:
[Components]
Name: module1; Description: Модуль BAS; Types: full
Name: module2; Description: Модуль isxbb; Types: full
[Files]
Source: C:\Program Files\Inno Setup\bass.dll; DestDir: {app}; Flags: ignoreversion; Components: module1
Source: C:\Program Files\Inno Setup\isxbb.dll; DestDir: {app}; Flags: ignoreversion; Components: module2
[Types]
Name: full; Description: Все компоненты; Flags: iscustom
И еще моя проблема:
Есть код на восстановление файлов через Бэкап
Я думаю он не работает из-за последовательности, т.к. он сначала копирует обновленный файл в папку с игрой а потом этот же файл перемещает в папку Бэкап и при удалении файл остаётся таким-же:
Цитата:
#include "SHFileOperation.iss"
[Setup]
AppName=My Program
AppVerName=My Program version 1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
Compression=lzma
SolidCompression=yes
[Tasks]
Name: src; Description: "Создать резервную копию оригинальных файлов"
[Files]
Source: "C:\Игры\SCell4\Media\SCDALauncher.exe"; DestDir: {app}; BeforeInstall: CreateBackup; Flags: uninsneveruninstall skipifsourcedoesntexist overwritereadonly ignoreversion nocompression
[Code]
function MoveFile(const srcFile, destFile: PChar): Integer;
external 'MoveFileA@kernel32.dll stdcall';
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep = usPostUninstall then
begin
MoveDir(ExpandConstant('{app}\Install_Rus\Backup\'), ExpandConstant('{app}'));
RemoveDir(ExpandConstant('{app}\Install_Rus\Backup\'));
RemoveDir(ExpandConstant('{app}\Install_Rus\'));
end;
end;
procedure CreateBackup;
var
srcFile, destFile: string;
basePath, shortPath: string;
begin
if IsTaskSelected('src') then
begin
basePath := ExpandConstant('{app}');
srcFile := ExpandConstant(CurrentFileName);
shortPath := srcFile;
StringChangeEx(shortPath, basePath, '', True);
destFile := ExpandConstant('{app}\Install_Rus\Backup') + shortPath;
ForceDirectories(ExtractFilePath(destFile));
MoveFile(PChar(srcFile), PChar(destFile));
end;
end;
Chuvakstepan
Цитата:
Спасибо тебе, помог!
Добавлено:
Jeff_Trust
Цитата:
Нужно удалить эту строку:
WizardForm.WizardSmallBitmapImage.Height:=WizardForm.Height;
и добавь эти
WizardForm.FinishedHeadingLabel.Visible:=False;
WizardForm.FinishedLabel.Visible:=False;
Цитата:
Открой Setup.e32 в Resource Hacker, в разделе RCData\TWIZARDFORM, там разберись.
Цитата:
Долго думал над твоей задачкой и вот оно - решение записи в реестр серийного номера, введенного в UserInfoSerial
Спасибо тебе, помог!
Добавлено:
Jeff_Trust
Цитата:
Спасибо тебе за помощь, все в принципе норм, но WizSmallImage не отображается корректно, помоги пожалуйста это исправить. Вот как получается смотри здесь
Нужно удалить эту строку:
WizardForm.WizardSmallBitmapImage.Height:=WizardForm.Height;
и добавь эти
WizardForm.FinishedHeadingLabel.Visible:=False;
WizardForm.FinishedLabel.Visible:=False;
Цитата:
Не подскажешь где потянуть список всех значений WizardForm
Открой Setup.e32 в Resource Hacker, в разделе RCData\TWIZARDFORM, там разберись.
Chuvakstepan
Цитата:
Сценькью!
Цитата:
Попробуй так:
Сценькью!
Мне нужно написать функцию, которая проверят, выбран ли
[Tasks]
Name: A; Description: Настроить 1С; Flags: unchecked
Как это сделать ?
[Tasks]
Name: A; Description: Настроить 1С; Flags: unchecked
Как это сделать ?
Цитата:
Мне нужно написать функцию, которая проверят, выбран ли
[Tasks]
Непонятно, надо сделать так чтобы он был выбран? Тогда просто убери unchecked
Chuvakstepan
Нет, надо сделать проверку, поставил ли пользователь галку при установке программы.
Нет, надо сделать проверку, поставил ли пользователь галку при установке программы.
function IsTaskSelected(const Tasks: String): Boolean;
Description:
Returns True if the specified task is selected. Multiple tasks may be specified in the same manner as in a Tasks parameter.
Example:
begin
if IsTaskSelected('desktopicon') then
// the 'desktopicon' task is selected
end;
RTFM!
Description:
Returns True if the specified task is selected. Multiple tasks may be specified in the same manner as in a Tasks parameter.
Example:
begin
if IsTaskSelected('desktopicon') then
// the 'desktopicon' task is selected
end;
RTFM!
Genri
А не могли бы Вы посмотреть личку, я Вам там письмо написал с просьбой о помощи ! Пожалуйста!
А не могли бы Вы посмотреть личку, я Вам там письмо написал с просьбой о помощи ! Пожалуйста!
Здраствуйте господа знатоки
Я в этом топике первый раз...поэтому не знаю, мож Вы уже где и выкладывали то, о чем я сейчас Вас попрошу...Так как я тока пару дней пользуюсь этой прогой (юзаю Inno Setup 5.1.9) и в Паскале не разбираюсь, а хочется то написать красивый код, а использовать Мастера...но с ним красивого не создашь...
Но вот собственно то, о чем я Вас хотел поросить: у меня на винте установлена одна игра, как мне создать инсталлятор к ней, чтоб мона ее было потом записать на диск и после запуска собственно инсталлятора происходил нормальный процесс ее установки..Заранее спасибо
З.Ы. А русик к Inno Setup 5.1.9 есть?
Я в этом топике первый раз...поэтому не знаю, мож Вы уже где и выкладывали то, о чем я сейчас Вас попрошу...Так как я тока пару дней пользуюсь этой прогой (юзаю Inno Setup 5.1.9) и в Паскале не разбираюсь, а хочется то написать красивый код, а использовать Мастера...но с ним красивого не создашь...
Но вот собственно то, о чем я Вас хотел поросить: у меня на винте установлена одна игра, как мне создать инсталлятор к ней, чтоб мона ее было потом записать на диск и после запуска собственно инсталлятора происходил нормальный процесс ее установки..Заранее спасибо
З.Ы. А русик к Inno Setup 5.1.9 есть?
DenVl
какие настроки во время установки требует игра: может создать какие то файлы конфигураций, или сделат какие то записи в реест или ещё что то? или надо просто собрать дистрибутив, который бы просто устанавливал игру?
русификатор есть... поищи в инете, ссылок просто валом..
какие настроки во время установки требует игра: может создать какие то файлы конфигураций, или сделат какие то записи в реест или ещё что то? или надо просто собрать дистрибутив, который бы просто устанавливал игру?
русификатор есть... поищи в инете, ссылок просто валом..
Ктонить поможет по этому вопросу : http://forum.ru-board.com/topic.cgi?forum=5&topic=4801&start=1460#5 ?
Спасиб NightW0lf
DroN_S
Цитата:
сначала я так и думал, но после..
Цитата:
я задумался и путем некоторых манипуляций с поиском в реестре (другого способа я пока не вижу, если тока перед установкой игры надо было запустить какого-нидь кей-логгера, но это не в этот топик)..так вот нашел три записи в реестре: одна запись: HKEY_LOCAL_MACHINE\SOFTWARE\Game\1.00 другая запись:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Game.exe и в ней находятся пару строковых параметров и третья запись: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Unistall\{...} c кучкой параметров. Вот собственно и все.., что посоветуете или предложите?
DroN_S
Цитата:
..или надо просто собрать дистрибутив, который бы просто устанавливал игру?
сначала я так и думал, но после..
Цитата:
..может создать какие то файлы конфигураций, или сделат какие то записи в реестр или ещё что то?
я задумался и путем некоторых манипуляций с поиском в реестре (другого способа я пока не вижу, если тока перед установкой игры надо было запустить какого-нидь кей-логгера, но это не в этот топик)..так вот нашел три записи в реестре: одна запись: HKEY_LOCAL_MACHINE\SOFTWARE\Game\1.00 другая запись:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Game.exe и в ней находятся пару строковых параметров и третья запись: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Unistall\{...} c кучкой параметров. Вот собственно и все.., что посоветуете или предложите?
Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
Предыдущая тема: ICONS
Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.