Показать полную графическую версию : [архив] Скрипты Inno Setup. Помощь и советы [часть 2]
а примерно в чём она может заключаться, если при ewNowait относительно нормально ставиться? »
Интересное высказывание... если бы было у вас нормально, то думаю вы бы не задавались таким вопросом.
Ошибка может быть в передаваемых параметрах запуска, вашей сторонней программы.
я писал
как сделать чтобы если виста то файлы автоматом в одну папку а если хр то в другую инсталились?
[Setup]
AppName=My Program
AppVerName=My Program v 1.5
DefaultDirName={pf}\{code:DetectWindows}
OutputDir=.
Compression=lzma/ultra
InternalCompressLevel=ultra
SolidCompression=yes
[Languages]
Name: rus; MessagesFile: compiler:Languages\Russian.isl
[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {app}; Flags: ignoreversion
[Code]
function DetectWindows(s: string): string;
var
SubKeyName, ResultStr: string;
begin
SubKeyName:= 'Software\Microsoft\Windows NT\CurrentVersion';
RegQueryStringValue(HKLM, SubKeyName, 'ProductName', ResultStr);
if Pos('XP', ResultStr) > 0 then
Result:= 'XP'
else
if Pos('Vista', ResultStr) > 0 then
Result:= 'Vista'
else Result:= 'My Program';
end;
я не совсем понял как вписать, у мну первый ХР путь это
C:\Documents and Settings\Ваше_имя_пользователя\Application Data\id Software
а на Vista это
C:\Users\Ваше_имя_пользователя\AppData\LocalLow\id Software\
Habetdin
22-12-2009, 22:25
lmiol, используйте переменные {userappdata} и {localappdata}, а не прямые пути :)
я и использую я просто путь нашкрябал
а LocalLow что в висте определяется как {localappdata}?
я не совсем понял как вписать »
[Files]
Source: compiler:Examples\MyProg.exe; DestDir: {code:DetectWindows}; Flags: ignoreversion
[Code]
function DetectWindows(s: string): string;
var
SubKeyName, ResultStr: string;
begin
SubKeyName:= 'Software\Microsoft\Windows NT\CurrentVersion';
RegQueryStringValue(HKLM, SubKeyName, 'ProductName', ResultStr);
if Pos('XP', ResultStr) > 0 then
Result:= ExpandConstant('{%APPDATA}\id Software')
else
if Pos('Vista', ResultStr) > 0 then
// не знаю, будет ли это C:\Users\Ваше_имя_пользователя\AppData\LocalLow\id Software
// проверить не где
Result:= ExpandConstant('{%APPDATA}\LocalLow\id Software')
else Result:= ''; // сюда нужно вписать путь по дефолту, т.е. если не XP или Vista
end;
серега как всегда выручает!!!!+1
Подскажите плз, если надо добавить в инсталятор какой то файл, то это можно прописать в скрипте в секции [Files] так: Source: "{app}\help.chm"; DestDir: "{app}"; . Откуда возьмется файл и куда установится мне понятно. Но, вот как добавить в установщик вместо файла help.chm например папку help из вложенными в нее разными файлами и подпапками, не перечисляя их все, а просто чтоб впихнуть в инсталятор готовую папку с файлами, а потом ее извлеч в корень установленной проги???
Подскажите »
так:
[Files]
Source: Papka\*; DestDir: {app}; Flags: createallsubdirs ignoreversion recursesubdirs
опа тут новая нипонятка а как сделать если у мну дефолтной папки нет
[Files]
Source: "uninstall.ico"; Components: main; DestDir: "{userappdata}\id Software\uninstall"; Flags: ignoreversion
Source: "usercur\*"; Components: main; DestDir: "{userappdata}\id Software"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
Source: "usercur2\*"; Components: manual; DestDir: "{userappdata}\id Software"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
Source: "usercur3\*"; Components: browser; DestDir: "{userappdata}\"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
Source: "programfiles\*"; Components: browser; DestDir: "{pf}\"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
Source: "pk3\*"; Components: main; DestDir: "{userappdata}\id Software"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension nocompression
Source: "pbsvc.exe" ;Components: anti;DestDir: "{tmp}"; Flags: ignoreversion
Source: "QuakeLiveNP_277.msi" ;Components: plug;DestDir: "{tmp}"; Flags: ignoreversion
тоисть есть еще отдельные пути (pf и tmp я думаю путь такой же и на висте)
МИШАНЧИК
23-12-2009, 10:24
Подскажите пожалуйста, как правильно удалить ветвь реестра перед инсталяцией?
Помогите пожалуйста как исправить ,я поставил кнопки которые прилогались к черному фону,кнопка работает только при нажатии на текст в кнопке а не на сому кнопку.буду благодарен
Habetdin
23-12-2009, 18:05
МИШАНЧИК, Пост 631 (http://forum.oszone.net/post-1292649-631.html), InitializeSetup - это инициализация установщика, происходит явно перед установкой ;)
Народ дайте пожалуйста код чтобы на каждой странице верхнюю картинку растянуть(это я умею),а на эту картинку наложить текст ,это как раз не получается
Только чтобы текст был без фона черного
REXE, [Code]
var
PageNameLabel1, PageDescriptionLabel1: TLabel;
procedure InitializeWizard();
begin
PageNameLabel1 := TLabel.Create(WizardForm);
with PageNameLabel1 do
begin
Left := ScaleX(13);
Top := ScaleY(9);
Width := ScaleX(300);
Height := ScaleY(14);
AutoSize := False;
WordWrap := True;
Font.Name := 'Tahoma'
Font.Style := [fsBold];
ShowAccelChar := False;
Transparent := True;
Parent := WizardForm.MainPanel;
end;
PageDescriptionLabel1 := TLabel.Create(WizardForm);
with PageDescriptionLabel1 do
begin
Left := ScaleX(25);
Top := ScaleY(24);
Width := ScaleX(475);
Height := ScaleY(30);
AutoSize := False;
WordWrap := True;
Font.Name := 'Tahoma'
ShowAccelChar := False;
Transparent := True;
Parent := WizardForm.MainPanel;
end;
with WizardForm do
begin
PageNameLabel.Hide;
PageDescriptionLabel.Hide;
with MainPanel do
begin
with WizardSmallBitmapImage do
begin
Left := ScaleX(0);
Top := ScaleY(0);
Width := Mainpanel.Width;
Height := MainPanel.Height;
end;
end;
end;
end;
procedure CurPageChanged(CurPageID: Integer);
begin
PageNameLabel1.Caption := WizardForm.PageNameLabel.Caption;
PageDescriptionLabel1.Caption := WizardForm.PageDescriptionLabel.Caption;
end;
A1EXXX спасибо большое!!))
МИШАНЧИК
24-12-2009, 03:03
Habetdin, спасибо!
Затупил, простите
А если несколько ветвей, так?
function InitializeSetup(): Boolean;
begin
RegDeleteKeyIncludingSubkeys(HKLM, 'Software\My Program1');
Result:= True;
RegDeleteKeyIncludingSubkeys(HKLM, 'Software\My Program2');
Result:= True;
RegDeleteKeyIncludingSubkeys(HKCU, 'Software\My Program3');
Result:= True;
end;
Народ дайте ссылку где скачать последний фриарк,и научите как им пользоватся или дайте ссылку где можно научится.
Sotonisto
24-12-2009, 11:57
Народ, вы ток не смейтесь - возможно я задам глупые вопросы, но я только 2 дня назад познакомился с этой прогой и естественно я в ней ламер.
И так...
1. У меня есть игра Left 4 Dead 2. Я ее обновил всеми патчами, установил кряк. Терь мне нужно свободное место на диске. И вот я решил создать инсталл игры. Все бы ничего, но все инсталлы размер которых больше 700Mb у меня зависают :(
Вопрос - это чет я в коде не то сделал (скрипт прилагается), или же файлы игры нужно чем-нить cжать, а потом прописать какуе-то команду для распаковки.
2. Патчи для Left 4 Dead 2 нужно прописывать в реестре. В каждой системе (х64 и х32) нужно вносить в реестр разные значения.Для х32
[HKEY_CURRENT_USER\Software\Classes\CLSID\{5F63E8CB-8F57-490A-97FE-62BC2F2A5EA4}\InprocServer32]
[HKEY_CURRENT_USER\Software\Classes\CLSID\{66B6B493-6055-4572-8FC1-A0FA86D63545}]
[HKEY_CURRENT_USER\Software\Classes\CLSID\{8D083C4F-F8B1-42ED-851B-51017CF4C161}]
Для х64
[HKEY_CURRENT_USER\Software\Classes\Wow6432Node\CLSID\{5F63E8CB-8F57-490A-97FE-62BC2F2A5EA4}\InprocServer32]
[HKEY_CURRENT_USER\Software\Classes\Wow6432Node\CLSID\{66B6B493-6055-4572-8FC1-A0FA86D63545}]
[HKEY_CURRENT_USER\Software\Classes\Wow6432Node\CLSID\{8D083C4F-F8B1-42ED-851B-51017CF4C161}]
Так вот, можно ли автоматом (в зависимости от системы) внести эти значения в реестр? Или хотя бы дать пользователю возможность выбрать какое из значений внести в реестр.
Если такое возможно - дайте код.
3. Можно ли сделать вот такое. Вместо того что бы выбирать в меню с лиц. соглашением "Я согласен" а потом нажимать "Далее", сделать кнопку "Принимаю" - нажал на нее и появился следующий диалог (желательно что бы кнопка "Принимаю" находилась на месте кнопки "Далее")?
Создаю инсталлятор для одной проги возникло пару вопросов. Буду очень признателен, если посоветуете что-то.
1. Есть ли команды для Командной строки? Но не для уже собранного инсталлятора, а для скрипта(т.е. менять настройки типа AppName, AppVerName). В общем мне надо менять AppVerName автоматически - до того как собереться инсталлятор. Возможно ли это?
2. Довольно глупо, но не смог найти. Как добавить кнопку "New Folder" для Browse for Folder в Select Destination Location. Странно, но у меня она не отображается.
Заранее благодарен.
1. Есть ли команды для Командной строки? Но не для уже собранного инсталлятора, а для скрипта(т.е. менять настройки типа AppName, AppVerName). В общем мне надо менять AppVerName автоматически - до того как собереться инсталлятор. Возможно ли это?
Да в папке с инсталятором есть папка Language найди там Russian.lng и открой блокнотом там можешь подправить что нужно
или есть второй вариант прям в скрипте вписать нужные тебе строки
[Messages]
BeveledLabel=Copyright © Mio Dark Project
WelcomeLabel1=Вас приветствует Мастер обновления [name]
WelcomeLabel2=Программа обновит [name] (до версии 0.1.0 270 за 11.11.09) на Вашем компьютере.%n%nРекомендуется закрыть все прочие приложения перед тем, как продолжить.
ClickNext=Нажмите «Далее», чтобы продолжить, или «Отмена», чтобы выйти из программы обновления.
SetupAppTitle=Обновление
SetupWindowTitle=Обновление %1
WizardReady=Всё готово к обновлению
ReadyLabel1=Программа обновления готова начать обновление [name].
WizardInstalling=Обновление...
InstallingLabel=Пожалуйста, подождите, пока [name] обновится на Вашем компьютере.
ReadyLabel2b=Нажмите «Обновить», чтобы продолжить.
ButtonInstall=&Обновить
ExitSetupTitle=Выход из программы обновления
ExitSetupMessage=Обновление не завершено. Если Вы выйдете, программа не будет обновлена.%n%nВы сможете завершить обновление, запустив программу обновления позже.%n%nВыйти из программы обновления?
FinishedHeadingLabel=Завершение Мастера обновления [name]
FinishedLabelNoIcons=Программа [name] обновлена на Вашем компьютере.
ClickFinish=Нажмите «Завершить», чтобы выйти из программы обновления.
всё с последним кодом разобрался спасибо сергей,,,, осталось нати тестеров для проверки
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC