PDA

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


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

Dodakaedr
08-10-2014, 20:55
Подскажите, как можно отредактировать reg файл через inno? Нужно при отмеченной определенной кнопки поменять значение.

sergey3695
08-10-2014, 21:23
Цитата Dodakaedr:
отредактировать reg файл »
как текстовый файл попробуй отредактировать.
procedure RePlaceTextinFile(FilePath:string; find:string; replace:string);
var
S: TArrayOfString;
i : Integer;
begin
if not FileExists(FilePath) then begin MsgBox('Файл не найден', mbError, mb_Ok); Exit;end; // если файла нет, выходим
LoadStringsFromFile(FilePath, S); // загружаем файл
for i:= 0 to GetArrayLength(S)-1 do begin
if (Pos(AnsiUpperCase(find), AnsiUpperCase(S[i])) > 0) then begin
StringChangeEx(S[i], find, replace, True);
end;
end;
SaveStringsToFile(FilePath, S, False); // сохраняем файл
end;

Dodakaedr
08-10-2014, 21:39
как текстовый файл попробуй отредактировать. »
А можно пример применения вашей процедуры? У меня не получается. Нужно найти и поменять эту строку "General.Language"="eng.lng"

sergey3695
08-10-2014, 21:47
пример применения вашей процедуры »
RePlaceTextinFile(FilePath:string; find:string; replace:string); :o
RePlaceTextinFile(ExpandConstant('{app}\Setup.reg'),'"General.Language"="eng.lng"','"General.Language"="rus.lng"');

Dodakaedr
08-10-2014, 22:04
sergey3695, Я так и делал, просто тупанул с размещением файла, но все равно не меняет и нарушает строение строк reg файла.

sergey3695
08-10-2014, 23:26
Dodakaedr,
procedure RePlaceTextinFile(FilePath:string; find:string; replace:string);
var
S: TStringList;
i : Integer;
begin
S:=tstringlist.create;
S.LoadFromFile(FilePath);
for i := 0 to S.Count-1 do
begin
if S.Names[i]=find then
begin
S.Delete(i);
S.Insert(i,find+'='+replace);
end;
end;
S.SaveToFile(FilePath);
end;

procedure InitializeWizard;
begin
RePlaceTextinFile(ExpandConstant('{src}\1.reg'),'"version"','"1.1"');
end;"version"="1.1" (в этой строке меняем).

Dodakaedr
08-10-2014, 23:36
sergey3695, Все равно не хочет менять.

sergey3695
08-10-2014, 23:48
Dodakaedr, http://rghost.ru/58421287
Да ну? просмотри содержимое 1.reg ("version"="1.0"). Закрой просмотр. Скомпили установщик, запусти и закрой. Посмотри еще раз содержимое 1.reg ("version"=???). Тут то я проверил прежде чем давать код.

Dodakaedr
08-10-2014, 23:57
sergey3695, Ага теперь понял! Спасибо!

Антон_Мураткин@vk
09-10-2014, 11:52
Проблема заключается вот в чём.

Удобство чтения с экрана 100%. Инсталлятор отображается нормально.

Скриншот.
http://i67.fastpic.ru/big/2014/1009/6a/c87adb2ba4c4f21589e27a452056356a.png

Удобство чтения с экрана 125% Инсталлятор отображается без кнопок установки и отмены + всё растянулось.

Скриншот.
http://i66.fastpic.ru/big/2014/1009/fa/04ee859e7d18f873b436d0d41dd5bcfa.png

И удобство чтения с экрана 150% Инсталлятор отображается без кнопок установки и отмены + всё растянулось ещё больше.

Скриншот.
http://i64.fastpic.ru/big/2014/1009/9c/3bb2e10b029af1b959ee3cce653d739c.png


Можно ли это как то исправить? Подскажите если кто знает.
Заранее благодарю!!!

sergey3695
09-10-2014, 13:29
Антон_Мураткин@vk, на Krinkels уже ответил.

Irenis
09-10-2014, 23:05
Добрый вечер! Подскажите пожалуйста, как создать установщик с тихой установкой? Что в скрипте нужно добавлять, какой код? Спасибо.

Dodakaedr
09-10-2014, 23:16
как создать установщик с тихой установкой? »
Если я правильно понял, то нужно положить рядом с вашим инсталлятором файлик .cmd с таким содержимым: My_Programm.exe /VERYSILENT

В названии программы не должно быть пробелов.

saurn
09-10-2014, 23:18
Подскажите пожалуйста, как создать установщик с тихой установкой? Что в скрипте нужно добавлять, какой код? Спасибо. »
Ничего добавлять не нужно. Для тихой установки имеются предустановленные ключи /SILENT - установка с отображение только страницы прогресса, /VERYSILENT - полностью тихая установка без взаимодействия с пользователем, за исключением некоторых сообщений. Нужно лишь запустить инстал из комстроки с соответствующим ключем.

Например:
C:\Setup.exe /SILENT

Из справки:

/SILENT, /VERYSILENT
Установка в ускоренном или очень ускоренном режиме. При установке в ускоренном режиме окно мастера и фоновое окно мастера не отображаются, отображается только окно прогресса. При очень ускоренной установке окно прогресса тоже не отображается. Остальная установка проходит как обычно - отображаются сообщения об ошибках в ходе установки, страница приветствия (если ее отображение не отменено директивой DisableStartupPrompt или параметром '/SP-' командной строки).

Если после установки необходима перезагрузка, команды '/NORESTART' не дано и установка проходит в ускоренном режиме, появится сообщение "Перезагрузить компьютер?". Если режим установки очень ускоренный, система перезагрузится не спрашивая.

Dodakaedr
10-10-2014, 08:33
Подскажите способ, как установить(зарегистрировать) драйвер в систему. Имеется файл .sys(виртуальный прывод) и не достаточно для его работы просто поместить в папку System32\drivers.

diman_21Ru
10-10-2014, 14:14
Как можно увеличить размер установщика и сдвинуть кнопки не используя редактора

saurn
10-10-2014, 14:40
Как можно увеличить размер установщика и сдвинуть кнопки не используя редактора »
Руками.
procedure InitializeWizard;
begin
with WizardForm do
begin
ClientWidth := ScaleX( 598 );
ClientHeight := ScaleY( 355 );

OuterNotebook.SetBounds( ScaleX( 0 ), ScaleY( 0 ), ScaleX( ClientWidth ), ScaleY( 302 ) );
InnerNotebook.SetBounds( ScaleX( 12 ), ScaleY( 62 ), ScaleX( 574 ), ScaleY( 238 ) );
Bevel1.SetBounds( ScaleX( 0 ), ScaleY( 60 ), ScaleX( ClientWidth ), ScaleY( 3 ) );
Bevel.SetBounds( ScaleX( 0 ), ScaleY( 302 ), ScaleX( ClientWidth ), ScaleY( 2 ) );
BeveledLabel.Top := ScaleY( 294 );
BackButton.SetBounds( ScaleX( 352 ), ScaleY( 318 ), ScaleX( 75 ), ScaleY( 23 ) );
NextButton.SetBounds( ScaleX( 432 ), ScaleY( 318 ), ScaleX( 75 ), ScaleY( 23 ) );
CancelButton.SetBounds( ScaleX( 512 ), ScaleY( 318 ), ScaleX( 75 ), ScaleY( 23 ) );
MainPanel.Width := ScaleX( ClientWidth );
WizardSmallBitmapImage.Left := ScaleX( ClientWidth - 58 )
end;
end;

vasvladal
10-10-2014, 17:58
Есть в Inno Setup 5\IS_Scrpt\Scripts пример - Ultimate Test.iss. Он нормально компилируется и работает в Ansi. Подскажите, как его адаптировать для компиляции в Unicode. Спасибо

audiofeel
11-10-2014, 06:58
Подскажите способ, как установить(зарегистрировать) драйвер в систему. Имеется файл .sys(виртуальный прывод) и не достаточно для его работы просто поместить в папку System32\drivers. »
есть у майков такая штука называется DPINST, можно запустить с командой /S или /Q. но по моему кроме .SYS нужен .INF и каталог безопасности .CAT
http://msdn.microsoft.com/en-us/library/windows/hardware/ff544842(v=vs.85).aspx
==================
ключи командной строки
http://msdn.microsoft.com/en-us/library/windows/hardware/ff544775(v=vs.85).aspx
==================
вот выложил на файлообменник
http://rghost.ru/58459101

audiofeel
11-10-2014, 07:14
помогите кто знает как цвет например темы оформления виндоус, цвет из меню пуск и тд "взять" в инсталл
то есть что бы цвет менялся в зависимости от цвета темы виндоус




© OSzone.net 2001-2012