Показать полную графическую версию : [архив] Скрипты Inno Setup. Помощь и советы [часть 2]
извените я только новичек в этом деле но я хочу создать репак такой же как этот:
http://www.forum.oszone.ru/post-1409866-1784.html
но мне оттуда только строка состояния инстала (Которая сверху на ней статусы "установка", Завершение)измение размеров окна до 798х543, текстурированные кнопки,
состояние устаеовки(сколько процентов), фоновое изображение и проверка производительности.
Но я немогу все это оттуда вытащить! мож кто нибуть знает как такой скрипт сделать? :shocked:
R.i.m.s.k.y.
03-06-2010, 16:33
Только как правельно в Value Data сделать? F это место откуда ставилось. ну а первый ключ от инсталл шиелд врятли нужен. »
Ну пусть будет C:\, он то у вес есть
Root: HKLM; SubKey: SOFTWARE\LucasArts\Star Wars Jedi Knight Jedi Academy\1.0; ValueType: string; ValueName: CDPath; ValueData: C:
Root: HKLM; SubKey: SOFTWARE\LucasArts\Star Wars Jedi Knight Jedi Academy\1.0; ValueType: string; ValueName: Source Path; ValueData: C:
Root: HKLM; SubKey: SOFTWARE\LucasArts\Star Wars Jedi Knight Jedi Academy\1.0; ValueType: string; ValueName: Source Dir; ValueData: C:
Мой вопрос кто-нить глянет?
Ну пусть будет C:\, он то у вес есть »
Ну это понятно канеш попробую. Просто думал можно сделать чтоб он показывал место от куда его ставиш.
R.i.m.s.k.y.
03-06-2010, 16:47
Просто думал можно сделать чтоб он показывал место от куда его ставиш »
поменяйте ValueData: C: на ValueData: {app}
на мой вопрос кто нить ответит?
moraru, Need for Speed™ Undercover.iss v 2.2 [Final]
http://rghost.ru/1573116 либо http://rghost.ru/1573116
как cделать статус панель вверху инсталятора как на картинке? Пишет uncown identifier "Welcome"
Друзья, у меня вот с чем проблема:
http://www.imagepost.ru/thumbs/141/6N1uApUY6jat.PNG (http://www.imagepost.ru/?v=141/6N1uApUY6jat.PNG)
Жму компиляцию, проходит время и на пол пути ошибка со скрина((((((((
Может что в скрипте накосячил... я же не профи....:
[Setup]
DiskSpanning=true
DiskSliceSize=1457664000
AppId={{77B8C3D8-4F8F-4DE2-AB13-46B9F3230A5C}
AppName=Blur
AppVerName=Blur
AppPublisher=Pro100 RePack
DefaultDirName={pf}\Blur
DefaultGroupName=Blur
OutputDir=E:\Инсталяторы
OutputBaseFilename=setup
SetupIconFile=E:\Games\Blur(TM)\Blur.ico
Compression=lzma/ultra64
SolidCompression=true
InternalCompressLevel=ultra64
WizardImageFile=E:\Инсталяторы\Phoenix.bmp
WizardImageBackColor=clWhite
WizardSmallImageFile=E:\Инсталяторы\Phoenix 2.bmp
[Languages]
Name: russian; MessagesFile: compiler:Languages\Russian.isl
[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked; OnlyBelowVersion: 0,6.1
[Files]
Source: E:\Games\Blur(TM)\Blur.exe; DestDir: {app}; Flags: ignoreversion
Source: E:\Games\Blur(TM)\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
Source: unarc.dll; DestDir: {tmp}; Flags: dontcopy deleteafterinstall
Source: compiler:InnoCallback.dll; DestDir: {tmp}; Flags: dontcopy
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\Запустить игру"; Filename: "{app}\blur.exe"; WorkingDir: "{app}";
Name: "{group}\Удалить игру"; Filename: "{uninstallexe}";
Name: "{commondesktop}\Blur"; Filename: "{app}\blur.exe"; WorkingDir: "{app}"; Tasks: "desktopicon";
[Code]
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
begin
if CurUninstallStep=usPostUninstall then
begin
DelTree(ExpandConstant('{app}'), True, True, True);
RemoveDir(ExpandConstant('{app}'));
end;
end;
[Run]
Filename: {app}\Blur.exe; Description: {cm:LaunchProgram,Blur}; Flags: nowait postinstall skipifsilent
[Registry]
Root: HKLM; SubKey: SOFTWARE\Wow6432Node\Activision\Blur; ValueType: string; ValueName: InstallPath; ValueData: {app}; Flags: uninsdeletekey
Root: HKLM; SubKey: SOFTWARE\Wow6432Node\Activision\Blur; ValueType: string; ValueName: InstallDrive; ValueData: F:\
Root: HKLM; SubKey: SOFTWARE\Wow6432Node\Activision\Blur; ValueType: string; ValueName: LanguageCode; ValueData: RUS
Root: HKLM; SubKey: SOFTWARE\Wow6432Node\Activision\Blur; ValueType: string; ValueName: Language; ValueData: 1049
Root: HKLM; SubKey: SOFTWARE\Wow6432Node\Activision\Blur; ValueType: string; ValueName: StartMenuFolder; ValueData: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Blur(TM)
Root: HKLM; SubKey: SOFTWARE\Wow6432Node\Activision\Blur; ValueType: string; ValueName: Version; ValueData: 1.0
Root: HKLM; SubKey: SOFTWARE\Wow6432Node\Activision\Blur; ValueType: string; ValueName: IntVersion; ValueData: 20.0
Root: HKLM; SubKey: SOFTWARE\Wow6432Node\Activision\Blur; ValueType: string; ValueName: UninstallString; ValueData: "\""C:\Program Files (x86)\InstallShield Installation Information\{{589A63D3-89E1-4D9B-8DBC-6039BB27289E}\uninstall.exe\"" -runfromtemp -l0x0419 -uninst"
Root: HKLM; SubKey: SOFTWARE\Wow6432Node\Activision\Blur; ValueType: string; ValueName: EXEString; ValueData: E:\Games\Blur(TM)\Blur.exe
Root: HKLM; SubKey: SOFTWARE\Wow6432Node\Activision\Blur; ValueType: dword; ValueName: GameLanguage; ValueData: $00000007
Есть какие идеи?
Предыдущий (http://forum.oszone.net/showthread.php?p=1426490&posted=1#post1426490) вопрос отпадает.
Теперь решил проблему с наложением надписи, но не до конца.
Вот процедура отвечающая за определение и вывод количества свободного и требуемого места.
procedure GetFreeSpaceCaption(Sender: TObject);
var
Path: String;
begin
Path := ExtractFileDrive(WizardForm.DirEdit.Text);
GetSpaceOnDisk(Path, True, FreeMB, TotalMB);
if FreeMB > 1024 then
SelectDirText_1.Caption := ExpandConstant('{cm:SPACE_2} ')+ NumToStr_(round(FreeMB/1024*100)/100) + ' GB'
else
SelectDirText_1.Caption := ExpandConstant('{cm:SPACE_2} ')+ NumToStr_(FreeMB)+ ' MB';
//---------------------------
if FreeMB < NeedSize then
begin
SelectDirText_1.Font.Color:= ClRed;
WizardForm.NextButton.Enabled := False;
SelectDirText_1.Hide;
SelectDirText_1.Show;
end else
begin
SelectDirText_1.Font.Color:= ClWhite;;
WizardForm.NextButton.Enabled := True;
SelectDirText_1.Hide;
SelectDirText_1.Show;
end
end;
//===================
procedure GetNeedSpaceCaption;
begin
if NeedSize > 1024 then
WizardForm.DiskSpaceLabel.Caption := ExpandConstant('{cm:SPACE_1} ')+ NumToStr_(round(NeedSize/1024*100)/100) + ' GB' else
WizardForm.DiskSpaceLabel.Caption := ExpandConstant('{cm:SPACE_1} ')+ NumToStr_(NeedSize)+ ' MB';
//-----------------------
if FreeMB < NeedSize then
begin
SelectDirText_1.Font.Color:= ClRed;
WizardForm.NextButton.Enabled := False;
SelectDirText_1.Hide;
SelectDirText_1.Show;
end else
begin
SelectDirText_1.Font.Color:= ClWhite;;
WizardForm.NextButton.Enabled := True;
SelectDirText_1.Hide;
SelectDirText_1.Show;
end
end;
Как сделать так чтобы SelectDirText_1 при попадании на страницу SelectDir исчезал и тутже появлялся. Короче, также как я сделал с кнопками (выделил жирным):
if FreeMB < NeedSize then
begin
SelectDirText_1.Font.Color:= ClRed;
WizardForm.NextButton.Enabled := False;
SelectDirText_1.Hide;
SelectDirText_1.Show;
end else
begin
SelectDirText_1.Font.Color:= ClWhite;;
WizardForm.NextButton.Enabled := True;
SelectDirText_1.Hide;
SelectDirText_1.Show;
end
R.i.m.s.k.y.
04-06-2010, 09:07
от куда его ставиш »
Извините, соврал, если ОТКУДА то не {app}, a {src}
{src}
The directory in which the Setup files are located.
For example: If you used {src}\MYPROG.EXE on an entry and the user is installing from "S:\", Setup will translate it to "S:\MYPROG.EXE".
Cgc. Сделать так то только от туда игра будет с образа идтию.Но вот осталась главная проблема тут :
Root: HKLM; SubKey: SOFTWARE\LucasArts\Star Wars Jedi Knight Jedi Academy\1.0; ValueType: string; ValueName: CDPath; ValueData: F:
Root: HKLM; SubKey: SOFTWARE\LucasArts\Star Wars Jedi Knight Jedi Academy\1.0; ValueType: string; ValueName: Source Path; ValueData: F:
Root: HKLM; SubKey: SOFTWARE\LucasArts\Star Wars Jedi Knight Jedi Academy\1.0; ValueType: string; ValueName: Source Dir; ValueData: F:\
F это место откуда ставил. И Мини образ если смонтировать на F то игра пойдет. А если на другой вирт.диск то уже пишет нету дика и надо в реестере букву поменять на другую тогда пойдет. Ни как нельзя сделать чтобы от всюду шло, без лазанья в реестер.
Sotonisto
04-06-2010, 21:53
Тут есть доагдка (не моя) - мож попробовать {drive:{src}}?
Хотя может и не прокатит...
Ни как нельзя сделать чтобы от всюду шло, без лазанья в реестер. »
Вместо F:\ - поставь {src} и будет тебе счастье
скрипт ExecAndWait.iss будет работать, если файл при котором инсталлятор должен быть живым это батник, и запускается он не через Code, а через Run? если работает покажите для наглядности как это приписать, а то не понятно...
cergo666
06-06-2010, 02:35
проблема со скриптом Need for Speed™ Undercover.iss v 2.2.. решил вот тут проверить, а правда ли работает? ан неет, не хочет! после записей в реестр игра начинает удляться и вылазиет вот такое О_о http://tvojsoft.ru/uploads/media/media-p7NI5OH6GV.jpg
Сам код во вложении :)
kampaster
06-06-2010, 09:28
В чем может быть проблемма?
Когда компилирую свой скрипт через обычный анси Inno Setup
то со шрифтами всё нормально - да са всем всё нормально!
Тоесть вот так: http://imglink.ru/show-image.php?id=1c6b6ae5185560cba8567f92634cfee0
А когда компилирую через ResTools
Получается вот такая трабла! : http://imglink.ru/show-image.php?id=c51b1e0da2ae208fefc345e5b8289efe
Как исправить?
Мне нужно компилить именно через ResTools но там такие баги(((
Sotonisto
06-06-2010, 16:52
kampaster, а можно скрипт? :)
kampaster
06-06-2010, 19:20
Sotonisto только в ЛС..
Ну я думаю Вы меня понимаете почему!
Sotonisto напишите мне в ЛС
http://www.imagepost.ru/thumbs/145/ImvER1yKyj0m.PNG (http://www.imagepost.ru/?v=145/ImvER1yKyj0m.PNG)
как бороться с этим!?(((((( Подскажите!
alex2010
07-06-2010, 20:03
напиши вместо PChar - PAnsiChar должно работать
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.
Available in ZeroNet 1osznRoVratMCN3bFoFpR2pSV5c9z6sTC