Войти

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


Страниц : 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

Optitron
05-01-2014, 11:25
Всем Привет. Кто знает, как убрать в странице компонентов линии и сделать один единый цвет после этого (белый цвет в серый).

Nordek
05-01-2014, 16:19
а сам инстоллятор возможно сделать: чтобы запускался от имени администратора ? или нет ? »А разве он не из под администратора по умолчанию запускается?
По умолчанию там и так привилегии выставлены PrivilegesRequired=admin.

Не, если конечно не веришь, то можешь для убедительности в секции [Setup] выставить:
[Setup]
PrivilegesRequired=admin

для PrivilegesRequired возможные значения: none, poweruser, admin, или lowest

Ну, блин, не позорились что-ли - самое простое и не могут разобраться. Я к тому, что полезно справку почитать.
Скачай справку (http://rghost.ru/users/Arsen19/releases/Russkaya-spravka-k-Inno-Setup), да почитай про привилегии: ISetup.chm » Секция скриптов » Директивы секций » PrivilegesRequired.

и совместимость с WINXPSP3 - мне нужно только для тех у кого Windows 7/8 »

так:
[Registry]
Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\Tront.exe; ValueData: WINXPSP3 RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty; MinVersion: 0,6.0

qwea234
05-01-2014, 16:28
Nordek,
Во спасибо!
1. нет по умолчанию я проверил созданный файл - привилегия сняты в свойствах. - сейчас проверю.
2. [Registry]
Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\Tront.exe; ValueData: WINXPSP3 RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty; MinVersion: 0,6.0Ага и с этим спасибо, но тут можно маленько разъяснить - вижу вы добавили в конце только MinVersion: 0,6.0 - что это значит ? - или дайте ссылку на подобный гайд, тк я наверно уеж вас замучал, но просто охота для игроков сделать удобнее все..

Добавлено:

выставил как вы и сказали:
PrivilegesRequired=admin

файл создался после генерации инсталятора и в свойствах все равно нету галочки - запускать от имени администратора.

и скачал вашу справку - пытаюсь открыть все нормально открывается но куда бы я не кликал с права не появляется описание, всегда пустое окно..

Nordek
05-01-2014, 16:37
Кто знает, как убрать в странице компонентов линии и сделать один единый цвет после этого (белый цвет в серый). »Вот так :):
[Code]
procedure InitializeWizard();
begin
WizardForm.Bevel.Visible := False;
WizardForm.Bevel1.Visible := False;
WizardForm.WelcomePage.Color := clBtnFace;
WizardForm.WelcomeLabel2.Color := clBtnFace;
WizardForm.LicenseMemo.Color := clBtnFace;
WizardForm.PasswordEdit.Color := clBtnFace;
WizardForm.InfoBeforeMemo.Color := clBtnFace;
WizardForm.UserInfoSerialEdit.Color := clBtnFace;
WizardForm.UserInfoOrgEdit.Color := clBtnFace;
WizardForm.UserInfoNameEdit.Color := clBtnFace;
WizardForm.DirEdit.Color := clBtnFace;
WizardForm.ComponentsList.Color := clBtnFace;
WizardForm.TypesCombo.Color := clBtnFace;
WizardForm.GroupEdit.Color := clBtnFace;
WizardForm.InfoAfterMemo.Color := clBtnFace;
WizardForm.MainPanel.Color := clBtnFace;
WizardForm.FinishedPage.Color := clBtnFace;
end;

Nordek
05-01-2014, 16:53
файл создался после генерации инсталятора и в свойствах все равно нету галочки »Да там и так не должно никаких галочек стоять т.к самому установщику назначены административные права и всё что он делает, он делает из под администратора.
Иначе, установка в папку не была удачно произведена т.к при установке выбивало ошибку типа: "Нет прав доступа".

что это значит ? »

MinVersion
Минимальная версия Windows и Windows NT, необходимая для установки параметра. Если значение равно "0", значит на платформе Windows (если первое) или Windows NT (если на втором месте) параметр будет не действительным. Номера сборки и/или пакета обновления могут включаться в значение. Значение перекрывается значением директивы MinVersion, которая указана в секции [Setup].

Параметр, для которого не указана MinVersion, устанавливается всегда, если только другой параметр этого не запретит.

Например:
MinVersion: 4.0,4.0
MinVersion: 4.1


OnlyBelowVersion
Параметр, обратный MinVersion. Указывает максимальную версию Windows и Windows NT для записи которая не будет обработана. Например, если Вы ввели 4.1,5.0 и система Windows 95 или NT 4.0, то параметр будет действительным, но если система Windows 98 (4.1) или Windows 2000 (NT 5.0), параметр будет недействительным. Если значение равно "0", значит, параметр будет действителен на любой платформе Windows. Номера сборки и/или пакета обновления могут включаться в значение. Значение перекрывается значением директивы OnlyBelowVersion, которая указана в секции [Setup].

Параметр, для которого не указан OnlyBelowVersion, устанавливается всегда, если только другой параметр этого не запретит.

Например:
OnlyBelowVersion: 4.1,5.0

qwea234
05-01-2014, 17:00
Nordek,
Ну все спасибо большое:

выставил вот так:



Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\Tront.exe; ValueData: RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty

Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\Tront.exe; ValueData: WINXPSP3 RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty; MinVersion: 0,6.0


первое: мы делаем для всех совместимость с RUNASADMIN
второе: мы делаем для Win 7 и Win 8 совместимость с WINXPSP3 и RUNASADMIN

получается все правильно ? или лучше в первом указать что все которые ниже Win 7 , а то получается мы делаем два параметра RUNASADMIN на win 7+..

Nordek
05-01-2014, 17:32
или лучше в первом указать что все которые »Ну, первой можешь назначить MinVersion и OnlyBelowVersion

; MinVersion: 4.0,; OnlyBelowVersion: 0,6.0 т.е начиная от Windows 95 и заканчивая Windows Vista, на Vista уже не сработает/не внесётся параметр в реестр.
далее у тебя идёт второй параметр MinVersion: 0,6.0 что значит сработает начиная от Windows Vista и выше, но не будет работать на ранних версиях - т.е на XP уже не сработает/не внесётся параметр в реестр.

[Registry]
Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\Tront.exe; ValueData: RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty; MinVersion: 4.0,; OnlyBelowVersion: 0,6.0
Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\Tront.exe; ValueData: WINXPSP3 RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty; MinVersion: 0,6.0

qwea234
05-01-2014, 17:35
Nordek, Блин чел, Вы такой умный - спасибо =)

все скопировал что вы мне дали, буду тестировать, как я понял с этими параметрами в реестр, уже не надо ничего добавлять в секцию: [Setup] ?
а то вы выше писали что возможно туда придется добавлять..


Добавлено:
выдало ошибки при компиляции на MinVersion: 4.0,;
Вы видать забыли 0 дописать, типо
MinVersion: 4.0,0; ? - или просто запятая лишняя..


Добавлено:
Попытался на "Windows 2003 Server" проверить совместимость - почему то не выставило, видать NT уже идет ?

Nordek
05-01-2014, 18:28
Весь список MinVersion для справки:

MinVersion: 4.0, - Windows 95

MinVersion: 4.1, - Windows 98

MinVersion: 4.9, - Windows ME

MinVersion: 0,4.0 - Windows NT 4.0
MinVersion: 0,4.0sp1 - Windows NT 4.0 Service Pack 1
MinVersion: 0,4.0sp2 - Windows NT 4.0 Service Pack 2
MinVersion: 0,4.0sp3 - Windows NT 4.0 Service Pack 3
MinVersion: 0,4.0sp4 - Windows NT 4.0 Service Pack 4
MinVersion: 0,4.0sp5 - Windows NT 4.0 Service Pack 5
MinVersion: 0,4.0sp6 - Windows NT 4.0 Service Pack 6

MinVersion: 0,5.0 - Windows 2000
MinVersion: 0,5.0sp1 - Windows 2000 Service Pack 1
MinVersion: 0,5.0sp2 - Windows 2000 Service Pack 2
MinVersion: 0,5.0sp3 - Windows 2000 Service Pack 3
MinVersion: 0,5.0sp4 - Windows 2000 Service Pack 4

MinVersion: 0,5.01 - Windows XP/Windows XP 64-Bit Edition Version 2002 (Itanium)
MinVersion: 0,5.01sp1 - Windows XP Service Pack 1
MinVersion: 0,5.01sp2 - Windows XP Service Pack 2
MinVersion: 0,5.01sp3 - Windows XP Service Pack 3
MinVersion: 0,5.02 - Windows XP x64 Edition (AMD/EM64T)
MinVersion: 0,5.01 - Windows XP 64-Bit Edition Version 2002 (Itanium)
MinVersion: 0,5.02 - Windows XP 64-Bit Edition Version 2003 (Itanium)

MinVersion: 0,6.0 - Windows Vista
MinVersion: 0,6.0sp1 - Windows Vista Service Pack 1
MinVersion: 0,6.0sp2 - Windows Vista Service Pack 2

MinVersion: 0,6.1 - Windows 7
MinVersion: 0,6.1sp1 - Windows 7 Service Pack 1

MinVersion: 0,5.02 - Windows Server 2003
MinVersion: 0,5.02sp1 - Windows Server 2003 Service Pack 1
MinVersion: 0,5.02sp2 - Windows Server 2003 Service Pack 2
MinVersion: 0,5.02 - Windows Server 2003 R2

MinVersion: 0,6.0 - Windows Server 2008
MinVersion: 0,6.1 - Windows Server 2008 R2

MinVersion: 0,6.2 - Windows 8

MinVersion: 0,6.3 - Windows 8.1


Примечание:
В списке могут попадаться одинаковые значения например: для Windows Vista: MinVersion: 0,6.0 и для Windows Server 2008: MinVersion: 0,6.0 - это не опечатка, просто MinVersion: 0,6.0 идёт как для Windows Vista так и Windows Server 2008.
По этому, достаточно указать один раз MinVersion: 0,6.0 - она сработает как для Windows Vista так и Windows Server 2008.

qwea234
05-01-2014, 18:49
понял делаю вот так:

[Registry]
Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\Tront.exe; ValueData: RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty; MinVersion: 5.1,0; OnlyBelowVersion: 0,6.3
Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\Tront.exe; ValueData: WINXPSP3 RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty; MinVersion: 0,6.3
первое все в том числе и WinXP и 2003

второе все что выше Vista в том числе и 2008

Optitron
05-01-2014, 19:27
Nordek, Благодарю, а как убрать линии не знаете?

Nordek
05-01-2014, 19:43
а как убрать линии »Какие? На скрине не понятно.
WizardForm.ComponentsList.BorderStyle := bsNone;
Это или опять не то?

qwea234
05-01-2014, 19:53
Nordek, ладно что-то не работает на 2003 все-равно, если убрать вообще минверсия - тогда работает, а с ней нет, скорей всего тогда вас не буду мучат - придется глобально почитать описание =(

Nordek
05-01-2014, 20:07
выдало ошибки при компиляции на MinVersion: 4.0,; »Так у тебя наверно стандартная версия. Используй расширенную версию (http://forum.oszone.net/post-2267176-1603.html) INNO.

qwea234
05-01-2014, 20:09
Nordek, то есть это не ошибка что просто написано 4.0, - с запятой ?

Nordek
05-01-2014, 20:15
то есть это не ошибка что просто написано 4.0, - с запятой ? »Нет, не ошибка. У меня на расширенной версии компилится нормально. Если б не работала, я бы не выкладывал.

Вот тестовый скрипт:
[Setup]
AppName=My Program
AppVersion=1.5
DefaultDirName={pf}\My Program
DefaultGroupName=My Program
OutputDir=.

[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl

[Icons]
Name: {commondesktop}\My Program; Filename: {app}\MyProg.exe
Name: {commondesktop}\{cm:UninstallProgram,My Program}; Filename: {uninstallexe}
Name: {group}\My Program; Filename: {app}\MyProg.exe
Name: {group}\{cm:UninstallProgram,My Program}; Filename: {uninstallexe}

[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {app}; Flags: ignoreversion

[Registry]
Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\MyProg.exe; ValueData: RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty; MinVersion: 4.0,; OnlyBelowVersion: 0,6.0
Root: HKCU; SubKey: Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers; ValueType: string; ValueName: {app}\MyProg.exe; ValueData: WINXPSP3 RUNASADMIN; Flags: uninsdeletevalue uninsdeletekeyifempty; MinVersion: 0,6.0

Nightwishh
06-01-2014, 04:06
Я дико извеняюсь, хочу спросить как запустить .msi контейнер в процедуре procedure CurStepChanged(CurStep: TSetupStep)

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then begin
Exec(ExpandConstant('{src}\Soft\PhysX-9.13.0725-SystemSoftware.msi'), 'msiexec /i', ExpandConstant('{src}\Soft'), SW_SHOW, ewWaitUntilTerminated, ResultCode);
end;
end; неработает!!!

Nordek
06-01-2014, 05:55
как запустить .msi »

[CustomMessages]
PhysXInstall=Установка PhysX

[Code]
var
ResultCode: integer;

procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssPostInstall then begin
WizardForm.FilenameLabel.Caption:=ExpandConstant('{cm:PhysXInstall}');
ShellExec('', ExpandConstant('{src}\Soft\PhysX-9.13.0725-SystemSoftware.msi'),'/qn', '', SW_SHOW, ewWaitUntilTerminated, ResultCode);
end;
end;

Nightwishh
06-01-2014, 20:25
http://forum.oszone.net/attachment.php?attachmentid=108716&stc=1&d=1388942447 Такое окошко выскакивает после установки (невсегда, очень редко). Что это может озночать?

habib2302
07-01-2014, 19:34
доброе время суток.помогите мне решить ошибку
http://i.imgur.com/rWEhwUu.jpg (http://i.imgur.com/GY04SrN.jpg)




© OSzone.net 2001-2012