PDA

Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 8]


Страниц : 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 [120] 121 122 123 124 125 126

ENERGES
21-12-2017, 13:36
Подскажите пожалуйста как убрать локализацию языка https://s8.hostingkartinok.com/uploads/images/2017/12/fbc0a594f061d607296205a8ddb8b5a1.png
http://rgho.st/8TsjZx2Y6

ZVSRus
21-12-2017, 14:59
web_form,


[Components]
Name: Icons; Description:Дополнительные задачи:; Types: custom; Flags: fixed
Name: Icons\CreateDesktopIcon; Description:Создать ярлык на рабочем столе; Types: custom;
Name: Icons\StartMenuIcon; Description:Создать ярлык в меню Пуск; Types: custom;
//#ifdef Components
// Name: Lang; Description: Локализация:; Types: custom; Flags: fixed
// Name: Lang/rus; Description: Русский; Flags: exclusive;
// Name: Lang/eng; Description: Английский; Flags: exclusive;
//#endif
Name: Redist; Description:Дополнительное программное обеспечение:; Types: custom; Flags: fixed
Name: Redist\Redist1; Description:Установить\Обновить Microsoft DirectX (требуеться соединение с интернетом); Types: custom;
Name: Redist\Redist2; Description:Установить\Обновить Microsoft Visual С++; Types: custom;

ENERGES
21-12-2017, 15:06
ZVSRus, когда запускаешь отдельно Setup.exe оно всё равно отображается и при нажатие рус енг выдает ошибку https://s8.hostingkartinok.com/uploads/images/2017/12/6497beb339b3147afd33aaa3ef8d1955.png

Iska
21-12-2017, 15:41
Iska
Просто наверное не правильно сформулировал предложение, нужно было что типа такого:
…»
ZVSRus, спасибо, ясно.

Нет. Тут дело не в том, «обычные программы» или не «обычные». Дело в том, в каком режиме устанавливается приложение. Если оно устанавливается в режиме «На машину» — используется HKLM, Program Files для файлов и общий профиль для общих настроек/ярлыков, если в режиме «На пользователя» — используется HKCU и профиль пользователя для файлов, настроек и ярлыков (я излагаю очень упрощённо, в реальности там куча тонкостей). Ну, по крайней мере, теоретически должна использоваться, поскольку сие оговорено требованиями.

И независимо от изложенного выше, есть отдельная история — для x86 приложений (в том числе и для инсталляций) под x64 ОС используется виртуализация некоторых разделов реестра и путей файловой системы. Краткие обзорные сведения и отношение к технологии со стороны разных производителей страждущие (Вам оно, скорее всего, не требуется) могут почерпнуть по запросу per-user per-machine installation - Поиск в Google (https://www.google.ru/search?q=per-user+per-machine+installation).

ZVSRus
21-12-2017, 16:47
web_form

//===== [Components] =====\\:
;#Define Components
;#Define ComponentsNo

ENERGES
21-12-2017, 18:00
подскажите пожалуйста как изменить жирность шрифта https://s8.hostingkartinok.com/uploads/images/2017/12/0c8d827317fd98ec0e3a1f6e245b9895.png

nik1967
23-12-2017, 10:03
Бедный мой инсталлятор. Что с ним пытаются сделать? (Не начинка, конечно же, а дизайн, содранный с моего инсталла).

ENERGES
23-12-2017, 10:29
nik1967, пытаюсь создать ваш оригинальный скрипт ,не подскажите как подключить md5?

ENERGES
23-12-2017, 19:16
подскажите пожалуйста как убрать это синий окно https://s8.hostingkartinok.com/uploads/images/2017/12/aa0e399ebfe8a32a81d98a66701ac6c8.png
хочу чтобы выглядела так https://s8.hostingkartinok.com/uploads/images/2017/12/6b226c253d2e5d86d1ab0b7ef025fdde.png
http://rgho.st/8TsjZx2Y6

vvVVvv VV vvVVvv
24-12-2017, 19:19
Каждый из вас по разному написал и я не пойму,так всё таки, как правильно прописать , что бы установка в реестре прописывалась туда ,куда установил пользователь и можно такой же пример для установки в x86 битную систему,вот по этим примерам реестров.

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts\Command and Conquer Generals Zero Hour]
"Uninstall Program"="\"C:\\Program Files (x86)\\Common Files\\EAInstaller\\Command and Conquer Generals Zero Hour\\Cleanup.exe\""
"Uninstall Arguments"="uninstall_game -autologging -keepMaintenanceLog"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts\EA Core]
"ClientVersion"="7.0.0.1"
"ClientPath"="D:\\Games\\Origin\\legacyPM\\OriginLegacyCLI.exe"
"ClientAccessDLLPath"="D:\\Games\\Origin\\legacyPM\\CmdPortalClient.dll"
"EADM6Version"="7.0.0.1"
"EADM6InstallDir"="D:\\Games\\Origin"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts\EA Games]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour]
"Language"="english"
"MapPackVersion"=dword:00010000
"Version"=dword:00010004

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour\ergc]
@="bnfgnfgnfgnfgnfgnfg"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Generals]
"MapPackVersion"=dword:00010000
"Version"=dword:00010008
"InstallPath"="D:\\Games\\Command and Conquer Generals Zero Hour\\Command and Conquer Generals\\"
"Language"="english"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts\EA Games\Generals\ergc]
@="asfdsfsdfsdfasasasfwsf"

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts\EADM]
"ClientVersion"="10.5.8.17910"
"ClientPath"="D:\\Games\\Origin\\Origin.exe"
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\EA Games]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\EA Games\Command and Conquer Generals Zero Hour]
"GDFBinary"="D:\\Games\\Command and Conquer Generals Zero Hour\\GDFBinary_en_US.dll"
"GameExplorer"="{фффффффф-фффф-фффф-фффф-ффффффффф}"
"DisplayName"="Command & Conquer™: Generals and Zero Hour"
"Locale"="en_US"
"Product GUID"="{фффффф-фффф-фффф-фффф-фффффффффффф}"
"Install Dir"="D:\\Games\\Command and Conquer Generals Zero Hour\\"

ENERGES
25-12-2017, 15:18
del

ZVSRus
25-12-2017, 18:27
web_form
Ну вы вообще!
То что обведено в рамочку, и называете окнами, может вы можете это все перетащить куда нибудь?

ENERGES
25-12-2017, 18:31
ZVSRus, я часть файлов и текстов удалил осталось только последние

boss911
25-12-2017, 18:37
что бы установка в реестре прописывалась туда ,куда установил пользователь и можно такой же пример для установки в x86 битную систему »
[Setup]
DefaultDirName={pf}\Command and Conquer Generals Zero Hour

[Registry]
Root: HKLM; SubKey: SOFTWARE\EA Games; ValueType: none; Flags: uninsdeletekeyifempty dontcreatekey
Root: HKLM; SubKey: SOFTWARE\EA Games\Command and Conquer Generals Zero Hour; ValueType: string; ValueName: GDFBinary; ValueData: {app}\GDFBinary_en_US.dll; Flags: uninsdeletekeyifempty uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\EA Games\Command and Conquer Generals Zero Hour; ValueType: string; ValueName: GameExplorer; ValueData: {{фффффффф-фффф-фффф-фффф-ффффффффф}; Flags: uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\EA Games\Command and Conquer Generals Zero Hour; ValueType: string; ValueName: DisplayName; ValueData: Command & Conquer™: Generals and Zero Hour; Flags: uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\EA Games\Command and Conquer Generals Zero Hour; ValueType: string; ValueName: Locale; ValueData: en_US; Flags: uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\EA Games\Command and Conquer Generals Zero Hour; ValueType: string; ValueName: Product GUID; ValueData: {{фффффф-фффф-фффф-фффф-фффффффффффф}; Flags: uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\EA Games\Command and Conquer Generals Zero Hour; ValueType: string; ValueName: Install Dir; ValueData: {app}\; Flags: uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts; ValueType: none; Flags: uninsdeletekeyifempty dontcreatekey
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\Command and Conquer Generals Zero Hour; ValueType: string; ValueName: Uninstall Program; ValueData: """{cf}\EAInstaller\Command and Conquer Generals Zero Hour\Cleanup.exe"""; Flags: uninsdeletekeyifempty uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\Command and Conquer Generals Zero Hour; ValueType: string; ValueName: Uninstall Arguments; ValueData: uninstall_game -autologging -keepMaintenanceLog; Flags: uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Core; ValueType: none; Flags: uninsdeletekeyifempty dontcreatekey
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Core; ValueType: string; ValueName: ClientVersion; ValueData: 7.0.0.1; Flags: uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Core; ValueType: string; ValueName: ClientPath; ValueData: D:\Games\Origin\legacyPM\OriginLegacyCLI.exe; Flags: uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Core; ValueType: string; ValueName: ClientAccessDLLPath; ValueData: D:\Games\Origin\legacyPM\CmdPortalClient.dll; Flags: uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Core; ValueType: string; ValueName: EADM6Version; ValueData: 7.0.0.1; Flags: uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Core; ValueType: string; ValueName: EADM6InstallDir; ValueData: D:\Games\Origin; Flags: uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Games; ValueType: none; Flags: uninsdeletekeyifempty
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour; ValueType: string; ValueName: Language; ValueData: english; Flags: uninsdeletekeyifempty uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour; ValueType: dword; ValueName: MapPackVersion; ValueData: $00010000; Flags: uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour; ValueType: dword; ValueName: Version; ValueData: $00010004; Flags: uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Games\Command and Conquer Generals Zero Hour\ergc; ValueType: string; ValueData: bnfgnfgnfgnfgnfgnfg; Flags: uninsdeletekeyifempty uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Games\Generals; ValueType: dword; ValueName: MapPackVersion; ValueData: $00010000; Flags: uninsdeletekeyifempty uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Games\Generals; ValueType: dword; ValueName: Version; ValueData: $00010008; Flags: uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Games\Generals; ValueType: string; ValueName: InstallPath; ValueData: {app}\Command and Conquer Generals\; Flags: uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Games\Generals; ValueType: string; ValueName: Language; ValueData: english; Flags: uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EA Games\Generals\ergc; ValueType: string; ValueData: asfdsfsdfsdfasasasfwsf; Flags: uninsdeletekeyifempty uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EADM; ValueType: string; ValueName: ClientVersion; ValueData: 10.5.8.17910; Flags: uninsdeletekeyifempty uninsdeletevalue
Root: HKLM; SubKey: SOFTWARE\Electronic Arts\EADM; ValueType: string; ValueName: ClientPath; ValueData: D:\Games\Origin\Origin.exe; Flags: uninsdeletevalue
В скрипте используйте константу {app}, она будет равна значению, которое указано в DefaultDirName или тому, что пользователь укажет в окне выбора папки установки. Только вот я не знаю, что с "Origin", судя по реестру, оно ставится не в папку с основным приложением (игрой), тут вам виднее, как быть. Ключи реестра тут прописаны под 32-битную ОС, так как игра тоже 32-битная, судя из вашего REG примера.

ZVSRus
25-12-2017, 19:05
я часть файлов и текстов удалил осталось только последние

Большая часть текстов, которые вы видите на той или иной странице находятся в модуле messages.iss
У каждого текста в начале строки есть, как бы правильно сказать идентификатор

engwpFinished21=An error occurred during installation! Please correct the problem and run Setup again.
ruswpFinished21=Во время установки произошла ошибка! Пожалуйста, устраните проблему и запустите установку снова.

Caption := CustomMessage(lang+'wpFinished21') - Когда найдёте то что выделено, это будет сам лейбл со всеми координатами и размерами текста. Где искать не говорю, даю возможность найти самому, и научится ориентироваться.

ENERGES
25-12-2017, 20:29
ZVSRus, нашло а как убрать жирность текста

ZVSRus
25-12-2017, 20:48
а как убрать жирность текста



TextLabel[4]:= TLabel.Create(WizardForm);
with TextLabel[4] do
begin
AutoSize:= false;
Parent := WizardForm;
Font.Color := clWindowText; закомментируй строку
Font.Height := -11; закомментируй строку
Font.Name := 'Tahoma';
WordWrap:= true;
Transparent := True;
Left := ScaleX(40);
Top := ScaleY(28);
Height := ScaleY(15);
Width := ScaleX(620);
font.color:=clred; // цвет шрифта
Font.Style:=[fsBold]; // стить шрифта
font.Size:=7; // размер шрифта
Caption := CustomMessage(lang+'wpFinished21')
end;

ENERGES
25-12-2017, 20:56
подскажите пожалуйста как сделать такое окно http://www.picshare.ru/uploads/171226/UX9WP71bwy.jpg
http://rgho.st/8TsjZx2Y6
в этом скрипте есть http://rgho.st/6lp6vVmrZ но не знаю как распределить к ординаты

pollipen
26-12-2017, 20:23
парни подскажите в чём проблема, поправте.

[Setup]
AppName=My Application
AppVersion=1.5
DefaultDirName={pf}\My Application
OutputDir=C:\Users\ww\Desktop
DisableReadyPage=True
DisableReadyMemo=True
DisableFinishedPage=True

[Files]
Source: "C:\Program Files (x86)\Inno Setup 5\Dll Pack\ISSkin.dll"; DestDir: "{app}"; Flags: ignoreversion dontcopy
Source: "C:\Program Files (x86)\Inno Setup 5\IS_Skin\Styles\Chromium.cjstyles"; DestDir: "{tmp}"; Flags: ignoreversion dontcopy
Source: "..\skf.exe"; DestDir: "{tmp}"; Flags: ignoreversion


[code]
function InitializeSetup2(): Boolean;
var
ErrorCode: Integer;
begin
if not FileExists(ExpandConstant('{tmp}\skf.exe')) then ExtractTemporaryFile('skf.exe');
Exec(ExpandConstant('{tmp}\skf.exe'), '', '', SW_Hide, ewWaitUntilTerminated , ErrorCode);
result:=True;
end;

procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall';

procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall';

function ShowWindow(hWnd: Integer; uType: Integer): Integer;
external 'ShowWindow@user32.dll stdcall';

function InitializeSetup1(): Boolean;
begin
ExtractTemporaryFile('Chromium.cjstyles');
LoadSkin(ExpandConstant('{tmp}\Chromium.cjstyles'), '');
Result := True;
end;

procedure DeinitializeSetup();
begin
ShowWindow(StrToInt(ExpandConstant('{wizardhwnd}')), 0);
Sleep(110);
UnloadSkin();
end;

function InitializeSetup(): Boolean;
begin
InitializeSetup2(): Boolean;
InitializeSetup1(): Boolean;
end;

vvVVvv VV vvVVvv
27-12-2017, 03:37
В скрипте используйте константу {app}, она будет равна значению, которое указано в DefaultDirName или тому, что пользователь укажет в окне выбора папки установки. Только вот я не знаю, что с "Origin", судя по реестру, оно ставится не в папку с основным приложением (игрой), тут вам виднее, как быть. Ключи реестра тут прописаны под 32-битную ОС, так как игра тоже 32-битная, судя из вашего REG примера. »
Ну нет же,мой пример под x64,вот же путь [HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Electronic Arts\EA Games]




© OSzone.net 2001-2012