Вопрос Вопрос по установки

vint56

Ветеран
Проверенный
Ученик_77,
; Запуск из под имени администратора
; Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {win}\notepad.exe; ValueData: RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty
 

Ученик_77

Участник
Это в секцию [Registry].
[Registry]
Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {win}\notepad.exe; ValueData: RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty
Так ?
Сори за глупый вопрос, но где тут указан мой екзе ?
Или notepad.exe на мой заменить ?
Или не надо ничего менять...
:$
 

vint56

Ветеран
Проверенный
Ученик_77, выбери пример смотря где exe файл лежит
[Registry]
Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\названия программы.exe; ValueData: RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\bin\названия программы.exe; ValueData: RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty
 

Ученик_77

Участник
Файлы так лежат:
буква диска:\Far Cry 3\bin\farcry3_d3d11.exe
и второй
буква диска:\Far Cry 3\bin\farcry3.exe.
То есть мой вариант
Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\bin\farcry3_d3d11.exe; ValueData: RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty
Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\bin\farcry3.exe.; ValueData: RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty
Верно ?
Написано позже.
Хочу, чтобы создалось 2 ярлыка, но рисуется на столе только один.
Вот что прописал.
[Icons]
/////////////////////////ЯРЛЫК В Панели (чекбокс)
Name: {group}\{#GameName}; Filename: {app}\bin\farcry3.exe; WorkingDir: {app}\bin; Check: CheckError
Name: {group}\{#GameName}; Filename: {app}\bin\farcry3_d3d11.exe; WorkingDir: {app}\bin; Check: CheckError
Name: {group}\Удалить {#GameName}; Filename: {uninstallexe}; WorkingDir: {app}; Check: CheckError

/////////////////////////ЯРЛЫК на рабочем столе (чекбокс)
Name: {userdesktop}\{#GameName}; Filename: {app}\bin\farcry3.exe; WorkingDir: {app}\bin; Check: CheckError and Desktop1; Parameters: -offline -language=Russian
Name: {userdesktop}\{#GameName}; Filename: {app}\bin\farcry3_d3d11.exe; WorkingDir: {app}\bin; Check: CheckError and Desktop1; Parameters: -offline -language=Russian

Вероятно, ошибся где-то.
Создаётся только farcry3_d3d11.exe.
 
Последнее редактирование:

SBalykov

Старожил
vint56, да, ясно .
Ещё позвольте спросить.
Как создать ярлык, который будет запускать игру с правами администратора ?
Примерно так:
Код:
[Registry]
Root: HKLM; SubKey: SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\{#ExeName}; ValueData: RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty
Пардон, уже ответили ...
 

Ученик_77

Участник
Сергей, спасибо всё равно.
А что насчёт двух ярлыков ?
Написано позже.
Хочу, чтобы создалось 2 ярлыка, но рисуется на столе только один.
Вот что прописал.
[Icons]
/////////////////////////ЯРЛЫК В Панели (чекбокс)
Name: {group}\{#GameName}; Filename: {app}\bin\farcry3.exe; WorkingDir: {app}\bin; Check: CheckError
Name: {group}\{#GameName}; Filename: {app}\bin\farcry3_d3d11.exe; WorkingDir: {app}\bin; Check: CheckError
Name: {group}\Удалить {#GameName}; Filename: {uninstallexe}; WorkingDir: {app}; Check: CheckError

/////////////////////////ЯРЛЫК на рабочем столе (чекбокс)
Name: {userdesktop}\{#GameName}; Filename: {app}\bin\farcry3.exe; WorkingDir: {app}\bin; Check: CheckError and Desktop1; Parameters: -offline -language=Russian
Name: {userdesktop}\{#GameName}; Filename: {app}\bin\farcry3_d3d11.exe; WorkingDir: {app}\bin; Check: CheckError and Desktop1; Parameters: -offline -language=Russian

Вероятно, ошибся где-то.
Создаётся только farcry3_d3d11.exe.
 

SBalykov

Старожил
Сергей, спасибо всё равно.
А что насчёт двух ярлыков ?
Создавай каждый ярлык под своим именем, а не как у тебя два ярлыка под одним именем, что и приводит к отсутствию второго
Name: {userdesktop}\{#GameName}; Filename: {app}\bin\farcry3.exe; WorkingDir: {app}\bin; Check: CheckError and Desktop1; Parameters: -offline -language=Russian
Name: {userdesktop}\{#GameName}; Filename: {app}\bin\farcry3_d3d11.exe; WorkingDir: {app}\bin; Check: CheckError and Desktop1; Parameters: -offline -language=Russian

Сделай примерно так

Name: {userdesktop}\{#GameName1}; Filename: {app}\bin\farcry3.exe; WorkingDir: {app}\bin; Check: CheckError and Desktop1; Parameters: -offline -language=Russian
Name: {userdesktop}\{#GameName2}; Filename: {app}\bin\farcry3_d3d11.exe; WorkingDir: {app}\bin; Check: CheckError and Desktop1; Parameters: -offline -language=Russian
 

Ученик_77

Участник
Ясно. Спасибо ещё раз.
Ну я понимал, примерно, что первый создается и тут же заменятся вторым.))
 

Ученик_77

Участник
Приветствую всех.
Снова я.
Речь о той же форме скрипта, что здесь всё время обсуждается.
У меня две таблетки для 32 и 64.
Как прописать проверку разрядности и последующий выбор нужной таблетки ?
Спасибо.))
Я уже про это точно читал тут, но сейчас просто не найду, поэтому сори за повтор.
 

vint56

Ветеран
Проверенный
Код:
#define MyAppName "My Program"
#define MyAppVersion "1.5"
#define MyAppExeName "MyProg.exe"

[Setup]
AppName={#MyAppName}
AppVersion={#MyAppVersion}
DefaultDirName={pf}\{#MyAppName}

[Files]
Source: C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe; DestDir: {app}\32; Check: not IsWin64
Source: C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe; DestDir: {app}\64; Check: IsWin64
 

Ученик_77

Участник
vint56, спасибо большое.
И ещё вопросик, в этой связи.
У меня два архива win32.arc и win64.arc, как мне увязать их установку от разрядности ?
 

SBalykov

Старожил
vint56, спасибо большое.
И ещё вопросик, в этой связи.
У меня два архива win32.arc и win64.arc, как мне увязать их установку от разрядности ?
как-то так:
Код:
if not IsWin64 then begin
if not ISArcExtract(0, 0, ExpandConstant('{src}\win32.arc'), ExpandConstant('{app}'), '', false, '{#password}', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), notPCFonFLY{PCFonFLY}) then break;
end else
if not ISArcExtract(0, 0, ExpandConstant('{src}\win64.arc'), ExpandConstant('{app}'), '', false, '{#password}', ExpandConstant('{tmp}\arc.ini'), ExpandConstant('{app}'), notPCFonFLY{PCFonFLY}) then break;
 
Последнее редактирование:

Ученик_77

Участник
Спасибо, Сергей.
Сейчас попробуем.
А вот это
Код:
[Files]
Source: C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe; DestDir: {app}\32; Check: not IsWin64
Source: C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe; DestDir: {app}\64; Check: IsWin64
Тоже надо вписать ?
 

vint56

Ветеран
Проверенный
Ученик_77, это пример средствами inno не говорил что ты будеш делать через архивы
 

SBalykov

Старожил
Спасибо, Сергей.
Сейчас попробуем.
А вот это
Код:
[Files]
Source: C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe; DestDir: {app}\32; Check: not IsWin64
Source: C:\Program Files (x86)\Inno Setup 5\Examples\MyProg.exe; DestDir: {app}\64; Check: IsWin64
Тоже надо вписать ?
Нет, этого не требуется ...
 
Последнее редактирование:

JodyFa

Новичок
хотелось бы узнать , после инсталляции в папке с игрой создаётся Desktop.ini , как запретить его создание либо как нибудь скрыть?
 

nik1967

Old Men
Проверенный
JodyFa, как запретить? Нужно смотреть в скрипте создание этого ини файла и убирать. Как скрыть? Установить файлу атрибут скрытый, или системный.
Код:
SetFileAttributes(PChar(ExpandConstant('{app}\Desktop.ini')), FILE_ATTRIBUTE_HIDDEN or FILE_ATTRIBUTE_SYSTEM);
 

JodyFa

Новичок
JodyFa, как запретить? Нужно смотреть в скрипте создание этого ини файла и убирать. Как скрыть? Установить файлу атрибут скрытый, или системный.
Код:
SetFileAttributes(PChar(ExpandConstant('{app}\Desktop.ini')), FILE_ATTRIBUTE_HIDDEN or FILE_ATTRIBUTE_SYSTEM);
хорошо,спасибо
 
Сверху