Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 8]
Serjione
10-05-2016, 16:58
TryRooM, в действительности, binary строка длиннее той, что приведена в примере. С длинной бинарной строкой ваш вариант уже не катит.
Serjione,
Если длинна, превышает, через код, как вариант.
[Files]
Source: "1.reg"; DestDir: {tmp};
[Run]
Filename: {win}\regedit.exe; Parameters: "/s ""{tmp}\1.reg"""; Flags: waituntilterminated; или так
[code ]
var
ResultCode: Integer;
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssDone then
//if Installer.Checked then // нужные вам условия
ExtractTemporaryFile('1.reg');
Exec(ExpandConstant('{win}\regedit.exe'), ExpandConstant('/S "{tmp}\1.reg"'), '', SW_HIDE, ewWaitUntilTerminated, ResultCode);
end;
Serjione
10-05-2016, 17:52
TryRooM
Unrecognized parameter name "procedure CurStepChanged(CurStep"
Здравствуйте, подскажите пожалуйста, как открыть файл .dat или .bin? Хочу открыть файлы репака одной игры без его установки, подозреваю что там вирус.
doctor_allcome
11-05-2016, 12:06
Ferkads
Если репак распаковывает архивы FreeArc, то можно установить FreArc на компьютер и файлы .dat или .bin перименовать в .arc, после этого с ними можно работать как с архивами. При условии того, что они без пароля.
Ferkads2
11-05-2016, 12:19
doctor_allcome там в одном репаке пароль стоит, а в другом не хочет открывать FreArc-ом.
doctor_allcome
11-05-2016, 16:00
Можно еще попробовать .7z, возможно архивы репака были упакован в 7-Zip. Еще можно попробовать http://innounp.sourceforge.net/. Еще есть для Total Commander аддон, для MultiArc http://wincmd.ru/plugring/InnoSetupAddon.html. На крайний случай можно попробовать программу следящую за действиями инсталляторов (куда, чего ставиться). Вроде в Revo Uninstaller Pro есть такая функция.
habib2302
13-05-2016, 15:07
:shout: :shout: :shout:
habib2302,
Пробуйте
http://rgho.st/6R5xq7qDv
vadjliss
14-05-2016, 10:36
ребята дайте пример скрипта распаковки через FreeArc
Может кто подскажет как сделать settings.ini файл для выбора языка по умолчанию.
Так-как у программы не нахожу такого файла ни в локальных папках, ни записей в реестре.
Программа по умолчанию ставиться на английском языке, хотя русский также присутствует.
При переключении с английского на русский, при следующим запуске программы язык так и стоит русский, и это правильно.
По логике вещей где-то должна быть запись на пропись языка.
Все перерыл, не могу найти.
И если у кого есть пример выбора языка по умолчанию через запись в реестр.
Не помню на каком форуме, но такое решение по памяти уже встречал.
ZVSRus, Не совсем понятно что вам нужно в действительности.
Может кто подскажет как сделать settings.ini файл для выбора языка по умолчанию. »
В settings.ini вносите данные:
Language=Default
Затем загружаете:
setup.exe /LOADINF=settings.ini
Не совсем понятно что вам нужно в действительности.
В действительности нужно создать два settings.ini, в одном прописать для английского языка, в другом для русского, потом в секции [Files] через радиопереключатели выбирать язык, выбрал RadioButton русский, программа установилась по умолчанию с русским интерфейсом, и на оборот.
что-то типа такого:
[Files]
Source: "{app}\SettingsRU.ini"; DestDir: "{app}"; DestName: "Settings.ini"; Check: LangRusCheck and InstallerCheck; MinVersion: 0.0,5.0; Flags: ignoreversion
Source: "{app}\SettingsEN.ini"; DestDir: "{app}"; DestName: "Settings.ini"; Check: LangEngCheck and InstallerCheck; MinVersion: 0.0,5.0; Flags: ignoreversion
Что нужно внести в settings.ini что-бы реально работало. Если можно пример. На примере выше не совсем понятно.
Можно, если есть пример (как вариант) пример через запись в реестр.
Что-то типа такого:
[Registry]
Root: HKCU; Subkey: "Software\Insofta\CoverCommander"; ValueName: "Language"; ValueType: String; ValueData: "English"; Check: "LangEngCheck and InstallerCheck"; MinVersion: 0.0,5.0; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKCU; SubKey: "Software\Insofta\CoverCommander"; ValueName: "Language"; ValueType: string; ValueData: "Russian"; Check: "LangRusCheck and InstallerCheck"; MinVersion: 0.0,5.0; Flags: uninsdeletevalue uninsdeletekeyifempty
vadjliss
15-05-2016, 13:16
парни что за проблема повторяется 2 раза папка установки
#define MyAppName "Corel PaintShop Pro X8"
#define MyAppPublisher "Corel"
#define MyAppURL ""
#define MyAppExeName "Corel PaintShop Pro.exe"
#define AppId "{1F666XX0-A000-4F48-66F6-080DEC56E094}"
[Setup]
AppId={{1F666XX0-A000-4F48-66F6-080DEC56E094}
AppVersion=18.2.0.6
VersionInfoVersion=18.2.0.6
AppName={#MyAppName}
AppPublisher={#MyAppPublisher}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\Corel\Corel PaintShop Pro X8
VersionInfoDescription=Corel PaintShop Pro X8 18.2.0.6
OutputDir=C:\Users\\WWW\Desktop\скрипт
OutputBaseFilename=Corel PaintShop Pro X8 18.2.0.6
SetupIconFile=C:\Users\WWW\Desktop\скрипт\image\1.ico
PrivilegesRequired=admin
Compression=lzma/ultra64
SolidCompression=true
InternalCompressLevel=ultra64
WizardImageFile=image\1.bmp
WizardSmallImageFile=image\2.bmp
UsePreviousGroup=False
DisableProgramGroupPage=yes
UninstallRestartComputer=no
DisableFinishedPage=yes
DiskSpanning=no
SlicesPerDisk=1
DiskSliceSize=2100000000
UninstallDisplayIcon={app}\1.ico
UninstallIconFile=C:\Users\WWW\Desktop\скрипт\image\unistaler.ico
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
//Name: english; MessagesFile: compiler:Languages\English.isl
[Icons]
Name: "{commondesktop}\Corel PaintShop Pro X8"; Filename: "{app}\Corel\Corel PaintShop Pro X8\Corel PaintShop Pro.exe"; Tasks: DesktopIcon
Name: "{commonstartup}\Corel PaintShop Pro X8"; Filename: "{app}\Corel\Corel PaintShop Pro X8\Corel PaintShop Pro.exe"; Tasks: AutoLaunch
Name: "{group}\Corel PaintShop Pro X8"; Filename: "{app}\Corel\Corel PaintShop Pro X8\Corel PaintShop Pro.exe"; Tasks: AutoLaunch
[Files]
Source: "{app}\SettingsRU.ini"; DestDir: "{app}"; DestName: "Settings.ini"; Check: LangRusCheck and InstallerCheck; MinVersion: 0.0,5.0; Flags: ignoreversion
Source: "{app}\SettingsEN.ini"; DestDir: "{app}"; DestName: "Settings.ini"; Check: LangEngCheck and InstallerCheck; MinVersion: 0.0,5.0; Flags: ignoreversion
»
[Files]
Source: "{src}\SettingsRU.ini"; DestDir: "{app}"; DestName: "Settings.ini"; Check: LangRusCheck and InstallerCheck; MinVersion: 0.0,5.0; Flags: ignoreversion external
Source: "{src}\SettingsEN.ini"; DestDir: "{app}"; DestName: "Settings.ini"; Check: LangEngCheck and InstallerCheck; MinVersion: 0.0,5.0; Flags: ignoreversion external
В действительности нужно создать два settings.ini »
пример (как вариант) пример через запись в реестр. »
Пример в зависимости выбора языка вначале установки, т.е взаимодействие с [Languages]
[INI]
Filename: {app}\settings.ini; Section: Lang; Key: Languages; String: English; Languages: english
Filename: {app}\settings.ini; Section: Lang; Key: Languages; String: Russian; Languages: russian
Если нужно для радиокнопки, то в секции [INI] вместо:
Languages: english
Languages: russian
Замените на своё значение, например:
Check: English
Check: Russian
2 раза папка установки »
[Icons]
Name: "{commondesktop}\Corel PaintShop Pro X8"; Filename: "{app}\Corel PaintShop Pro.exe"; Tasks: desktopicon
Name: "{commonstartup}\Corel PaintShop Pro X8"; Filename: "{app}\Corel PaintShop Pro.exe"; Tasks: desktopicon2
Name: "{group}\Corel PaintShop Pro X8"; Filename: "{app}\Corel PaintShop Pro.exe"; Tasks: desktopicon2
vadjliss
15-05-2016, 16:50
Nordek
всё равно не выходит опять 2 папки
[Icons]
Name: "{commondesktop}\Corel PaintShop Pro X8"; Filename: "{app}\Corel PaintShop Pro.exe"; Tasks: desktopicon
Name: "{commonstartup}\Corel PaintShop Pro X8"; Filename: "{app}\Corel PaintShop Pro.exe"; Tasks: desktopicon2
Name: "{group}\Corel PaintShop Pro X8"; Filename: "{app}\Corel PaintShop Pro.exe"; Tasks: desktopicon2
Пример в зависимости выбора языка вначале установки, т.е взаимодействие с [Languages]
Nordek спасибо за ответ, но вы совсем меня не поняли. Как установить Setting.ini я знаю, через секцию [Files].
Изначально вопрос был поставлен что именно нужно записать в самом файле .INI
В .INI файле однозначно должно быть Language=ru_RU, но что-то должно быть еще для связывания с программой или языковыми файлами, что именно подскажите.
Dodakaedr
15-05-2016, 19:40
но что-то должно быть еще для связывания с программой или языковыми файлами, что именно подскажите. »
Это вы должны сами выяснить. Запись в ini делается через секцию [INI] а в реестр через секцию [Registry]. Экстрасенсов здесь нет. Что хоть за программа?
всё равно не выходит опять 2 папки »Я даже "заморачиваться" не буду т.к ничего непонятно. Вменяемой информации от вас никакой нет.
По этому, см.:
#define AppName "Corel PaintShop Pro X8"
#define AppVersion "18.2.0.6"
#define AppPublisher "Corel"
#define AppPublisherURL "http://www.example.com/"
#define AppSupportURL "http://www.example.com/support"
#define AppUpdatesURL "http://www.example.com/product"
#define AppExeName "Corel PaintShop Pro.exe"
#define AppId "{1F666XX0-A000-4F48-66F6-080DEC56E094}"
[Setup]
AppId={{#AppId}
AppName={#AppName}
AppVersion={#AppVersion}
;AppVerName={#AppName} {#AppVersion}
AppPublisher={#AppPublisher}
AppPublisherURL={#AppPublisherURL}
AppSupportURL={#AppSupportURL}
AppUpdatesURL={#AppUpdatesURL}
DefaultDirName={pf}\{#AppPublisher}\{#AppName}
DefaultGroupName={#AppPublisher}\{#AppName}
OutputDir=.
OutputBaseFilename=setup
Compression=lzma
SolidCompression=yes
[CustomMessages]
CM_DesktopIcon=Создать ярлык на «Рабочем столе»
CM_AutorunIcon=Создать ярлык в папке «Автозагрузка»
CM_GroupIcon=Создать группу с ярлыками в меню «Пуск»
CM_UninstallProgram=Деинсталлировать
[Languages]
Name: default; MessagesFile: compiler:Default.isl
Name: russian; MessagesFile: compiler:Languages\Russian.isl
[Tasks]
Name: idesktopicon; Description: {cm:CM_DesktopIcon}; GroupDescription: {cm:AdditionalIcons}
Name: iautorunicon; Description: {cm:CM_AutorunIcon}; GroupDescription: {cm:AdditionalIcons}
Name: igroupicon; Description: {cm:CM_GroupIcon}; GroupDescription: {cm:AdditionalIcons}
[Files]
;Source: C:\Program Files\Inno Setup 5\Examples\MyProg.exe; DestDir: {app}; Flags: ignoreversion
Source: "app_folder\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
[Icons]
Name: {commondesktop}\{#AppName}; Filename: {app}\{#AppExeName}; Tasks: idesktopicon
Name: {commonstartup}\{#AppName}; Filename: {app}\{#AppExeName}; Tasks: iautorunicon
Name: {group}\{#AppName}; Filename: {app}\{#AppExeName}; Tasks: igroupicon
Name: {group}\{cm:CM_UninstallProgram}; Filename: {uninstallexe}; Tasks: igroupicon
[Run]
Filename: {app}\{#AppExeName}; Description: {cm:LaunchProgram,{#AppName}}; Flags: nowait postinstall skipifsilent unchecked
В .INI файле однозначно должно быть Language=ru_RU »В оригинале (https://www.insofta.com/ru/cover-commander/), всё записывается в реестр. Стоит только догадываться что за велосипед вам понадобился:
См. Справка » Константы
{ini:Filename,Section,Key|DefaultValue}
Берёт значение из .INI файла.
Filename - имя ini-файла, из которого производится чтение
Section - имя секции
Key - имя ключа
DefaultValue - значение, возвращаемое, если параметр не существует
Если вы хотите вставить ",", "|", или "}" в константу, Вы должны ввести "%-шестнадцатеричный номер символа в кодировке". Например, запятая равна "%2c", "|" - "%7c", и "}" - "%7d". Если вы хотите вставить "%", введите "%25".
Filename, Section, и Key могут включать константы. Обратите внимание, что описанным выше способом закрывающая фигурная скобка задается только в случае, когда она используется сама по себе. Если же она обозначает константу, подобные изощрения не нужны.
Например:
{ini:{win}\MyProg.ini,Settings,Path|{pf}\My Program}
Что хоть за программа
Программа Light Image Resizer 4.7.6.1 взял для экспериментов.
По умолчанию программа устанавливается на языке системы т.е. на русском.
При выборе английского языка, при следующем запуске английский язык так и стоит, значит где-то прописывается язык, где не могу найти ни записей в реестре, ни в локальных папках файлов конфигурации нет.
Что делается через секции [INI] и [Registry] я знаю.
Объясняю в 3 раз что мне нужно: Взять текстовый документ, что-то там написать конкретно для русского или английского языка, потом поменять расширение TXT на INI и чтобы это работало. Вот что написать я не знаю. То есть сделать settings.ini в ручную!
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.