Показать полную графическую версию : Скрипты Inno Setup. Помощь и советы [часть 6]
R.i.m.s.k.y.
27-08-2013, 19:14
А нету (вдруг) ссылки на русскоязычную справку? »
в шапке первая строчка
А на кучу моих вопросов ответы можно найти, судя по всему, просто внимательнее читая документацию) »
да инно один из немногих продуктов в котором справка действительно справка
R.i.m.s.k.y.
28-08-2013, 22:00
Видимо все вопросы исчерпали себя к 6-й части :)
________
Если мне не изменяет склероз был способ в TNewMemo помещать не просто текст, а файл rtf
господа состоятельные кроты, поделитесь примером, пожалуйста. В Lines.Text - содержимое rtf файла
BestSettings := TNewMemo.Create(WizardForm);
with BestSettings do
begin
Parent := WizardForm.ReadyPage;
Lines.Text := CustomMessage('BestSettings');
// Transparent := False;
Left := ScaleX(0);
Top := ScaleY(0);
Width := ScaleX(417);
Height := ScaleY(206);
WordWrap := True;
ScrollBars := ssVertical;
end;
Gnom_aka_Lexander
28-08-2013, 22:19
R.i.m.s.k.y., мемо вроде как не поддерживает РТФ-форматирования напрямую. а вот в ричэдит загрузить рич-текст удается, насколько я помню, только таким способом:
LoadStringFromFile(ExpandConstant('{tmp}\{#SetupSetting("LicenseFile")}'),S1);
Lines.Text := S1;
S1 : AnsiString;
Хотя, вспомнил, таким способом я как раз таки грузил рич-текст туда, где не поддерживается рич-форматирование.
elmariacci
29-08-2013, 11:15
такой вопрос,как соорудить показ превью компонентов в инсталлере,компонентов порядка 40 штук,к каждому нужно наглядное пояснение картинкой.Нашел пример для кастомной страницы,но там и картинка малая и потом всеравно вылазит страница компонентов
http://forum.oszone.net/post-1276069-434.html
есть ли возможность сделать всплывающую превьюшку размером примерно 150х150,необязательно входящую в рамки окна инсталятора?
elmariacci, http://forum.oszone.net/post-2169372-662.html
elmariacci
29-08-2013, 16:45
и еще такой вопрос,попробовал использовать скрипт сделанный в game script generator,выдернуть оттуда только фоновое изображение и проигрыватель.После компиляции выдает ошибку:
внутренняя ошибка extracttemporaryfile isgsg.dll not found
в секции Files присутствует...Сама програмка создает еще дополнительно файл bin ,где соответственно лежит длл я так понял,мне bin не нужен -тк делаю патчер и вес порядка 100мб
сам скрипт ,если нужно
[Setup]
OutputDir=F:\1
AppName=WOT
AppVersion=1
DefaultGroupName=WOT
OutputBaseFilename=прицел
WindowVisible=no
WindowShowCaption=no
WindowResizable=no
SolidCompression=yes
WizardImageStretch=False
DisableWelcomePage=True
DisableFinishedPage=True
UsePreviousSetupType=False
UsePreviousTasks=False
UsePreviousLanguage=False
FlatComponentsList=False
CreateAppDir=False
UsePreviousGroup=False
UninstallDisplayName=setup1
Encryption=True
InternalCompressLevel=ultra
Password=111111
PrivilegesRequired=none
Uninstallable=yes
CreateUninstallRegKey=yes
UninstallLogMode=overwrite
UninstallDisplayIcon={uninstallexe}
[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
[Files]
Source: "F:\my\phone.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: isgsg.dll; DestDir: {tmp}; Flags: ignoreversion
Source: bass.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: "F:\my\linkin_park-wid.mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: "F:\my\sound.mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: CoolXP4Green.cjstyles; DestDir: {tmp}; Flags: dontcopy
Source: ISSkin.dll; DestDir: {tmp}; Flags: dontcopy
Source: "F:\my\Прицел*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
[Icons]
Name: "{group}\{cm:UninstallProgram,WOT}"; Filename: "{uninstallexe}"
[UninstallDelete]
Type: filesandordirs; Name: "{app}"
[Code]
const
Indent=10;
Color = clblack;
function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint; external 'GetWindowLongA@user32.dll stdcall delayload';
function ssInitialize(hParent:HWND;ssTimeShow:integer;FadeOut:boolean;StretchMode:integer;BkgColor:DWORD):boo lean; external 'ssInitialize@files:isgsg.dll stdcall delayload';
procedure ssDeInitialize; external 'ssDeInitialize@files:isgsg.dll stdcall delayload';
procedure ssSetBkgImage(FileName:PAnsiChar); external 'ssSetBkgImage@files:isgsg.dll stdcall delayload';
procedure ShowMP3Panel(hMainFrm:HWND;StartVolume:integer;DefMP3Dir,BASSDir,MLabel:PAnsiChar;IsShowMP3Info,IsBk gFrmVisible:boolean;ShowTimeMP3Info:integer;dBottom:integer);external 'ShowMP3Panel@files:isgsg.dll stdcall';
procedure KillMP3Panel;external 'KillMP3Panel@files:isgsg.dll stdcall';
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall';
procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall';
function InitializeSetup:boolean;
begin
ExtractTemporaryFile('isgsg.dll');
ExtractTemporaryFile('linkin_park-wid.mp3');
ExtractTemporaryFile('sound.mp3');
ExtractTemporaryFile('bass.dll');
ExtractTemporaryFile('CoolXP4Green.cjstyles');
LoadSkin(ExpandConstant('{tmp}\CoolXP4Green.cjstyles'), '');
Result:=True;
end;
procedure InitializeWizard;
begin
ShowMP3Panel(WizardForm.Handle,80,ExpandConstant('{tmp}'),ExpandConstant('{tmp}'),'www.example.com', False,True,0,Indent);
ssInitialize(GetWindowLong(MainForm.Handle,-8),0,False,1,$FF000000);
ExtractTemporaryFile('phone.jpg');
ssSetBkgImage(ExpandConstant('{tmp}')+'\phone.jpg');
WizardForm.Font.Color:=clLime;
WizardForm.Color:=Color;
WizardForm.WelcomePage.Color:=Color;
WizardForm.InnerPage.Color:=Color;
WizardForm.FinishedPage.Color:=Color;
WizardForm.LicensePage.Color:=Color;
WizardForm.PasswordPage.Color:=Color;
WizardForm.InfoBeforePage.Color:=Color;
WizardForm.UserInfoPage.Color:=Color;
WizardForm.SelectDirPage.Color:=Color;
WizardForm.SelectComponentsPage.Color:=Color;
WizardForm.SelectProgramGroupPage.Color:=Color;
WizardForm.SelectTasksPage.Color:=Color;
WizardForm.ReadyPage.Color:=Color;
WizardForm.PreparingPage.Color:=Color;
WizardForm.InstallingPage.Color:=clblack;
WizardForm.InfoAfterPage.Color:=Color;
WizardForm.DirEdit.Color:=Color;
WizardForm.DiskSpaceLabel.Color:=Color;
WizardForm.DirEdit.Color:=Color;
WizardForm.GroupEdit.Color:=Color;
WizardForm.PasswordLabel.Color:=Color;
WizardForm.PasswordEdit.Color:=Color;
WizardForm.PasswordEditLabel.Color:=Color;
WizardForm.ReadyMemo.Color:=Color;
WizardForm.TypesCombo.Color:=Color;
WizardForm.WelcomeLabel1.Color:=Color;
WizardForm.WelcomeLabel1.Font.Color:=clLime;
WizardForm.InfoBeforeClickLabel.Color:=Color;
WizardForm.MainPanel.Color:=Color;
WizardForm.PageNameLabel.Color:=Color;
WizardForm.PageDescriptionLabel.Color:=Color;
WizardForm.ReadyLabel.Color:=Color;
WizardForm.FinishedLabel.Color:=Color;
WizardForm.YesRadio.Color:=Color;
WizardForm.NoRadio.Color:=Color;
WizardForm.WelcomeLabel2.Color:=Color;
WizardForm.LicenseLabel1.Color:=Color;
WizardForm.InfoAfterClickLabel.Color:=Color;
WizardForm.ComponentsList.Color:=Color;
WizardForm.ComponentsDiskSpaceLabel.Color:=Color;
WizardForm.BeveledLabel.Color:=Color;
WizardForm.StatusLabel.Color:=Color;
WizardForm.FilenameLabel.Color:=Color;
WizardForm.SelectDirLabel.Color:=Color;
WizardForm.SelectStartMenuFolderLabel.Color:=Color;
WizardForm.SelectComponentsLabel.Color:=Color;
WizardForm.SelectTasksLabel.Color:=Color;
WizardForm.LicenseAcceptedRadio.Color:=Color;
WizardForm.LicenseNotAcceptedRadio.Color:=Color;
WizardForm.UserInfoNameLabel.Color:=Color;
WizardForm.UserInfoNameEdit.Color:=Color;
WizardForm.UserInfoOrgLabel.Color:=Color;
WizardForm.UserInfoOrgEdit.Color:=Color;
WizardForm.PreparingLabel.Color:=Color;
WizardForm.FinishedHeadingLabel.Color:=Color;
WizardForm.FinishedHeadingLabel.Font.Color:=clLime;
WizardForm.UserInfoSerialLabel.Color:=Color;
WizardForm.UserInfoSerialEdit.Color:=Color;
WizardForm.TasksList.Color:=Color;
WizardForm.RunList.Color:=Color;
WizardForm.SelectDirBrowseLabel.Color:=Color;
WizardForm.SelectStartMenuFolderBrowseLabel.Color:=Color;
WizardForm.PageNameLabel.Font.Color:=clLime;
WizardForm.Bevel.visible:=False;
WizardForm.BeveledLabel.visible:=False;
WizardForm.Bevel1.visible:=False;
end;
procedure DeinitializeSetup;
begin
KillMP3Panel;
ssDeInitialize;
UnloadSkin();
end;
R.i.m.s.k.y.
29-08-2013, 16:46
Gnom_aka_Lexander, не, в окне выходит такая бяка
{\rtf1\ansi\ansicpg1251\uc1\deff0\stshfdbch0\stshfloch0\stshfhich0\stshfbi0\deflang1049\deflangfe104 9{\fonttbl{\f0\froman\fcharset204\fprq2{\*\panose 02020603050405020304}Times New Roman;}{\f3\froman\fcharset2\fprq2{\*\panose 05050102010706020507}Symbol;}
R.i.m.s.k.y.
29-08-2013, 18:01
elmariacci, Source: isgsg.dll; DestDir: {tmp}; Flags: noencryption solidbreak dontcopy
Gnom_aka_Lexander
29-08-2013, 18:09
R.i.m.s.k.y., Встречный вопрос - чем не устраивает ричэдит?
var
S1 : AnsiString;
procedure InitializeWizard();
begin
LoadStringFromFile(ExpandConstant('{tmp}\{#SetupSetting("LicenseFile")}'),S1);
with TRichEditViewer.Create(WizardForm) do
begin
Parent := WizardForm.ReadyPage;
SetBounds(ScaleX(0), ScaleY(0), ScaleX(417), ScaleY(206));
RTFText := S1;
end;
end;
elmariacci
29-08-2013, 18:18
elmariacci, Source: isgsg.dll; DestDir: {tmp}; Flags: noencryption solidbreak dontcopy »
это я прописал,в секции код есть обращение к bin поидее,где-то ошибка в процедурах...
R.i.m.s.k.y.
29-08-2013, 18:29
это я прописал,в секции код есть обращение к bin поидее,где-то ошибка в процедурах... »
а) секция код и есть секция bin
б) при декомпиляции секция кода не вытаскивается, придется ванговать руками все чего не хватает
Встречный вопрос - чем не устраивает ричэдит? »
тем что я про него не знал
elmariacci
29-08-2013, 18:47
а) секция код и есть секция bin
б) при декомпиляции секция кода не вытаскивается, придется ванговать руками все чего не хватает »
так декомпиляции и небыло-после создания скрипта,пошел править в iss и при компиляции создается bin.А мне нужно,чтобы все файлы запаковывались в экзэшник
Gnom_aka_Lexander
29-08-2013, 18:56
elmariacci, посмотри в секции Setup значения DiskSpanning и ReserveBytes, при наличии - удали. Только учитывай, что если ехе будет получаться больше 2-х гиг, то компилятор откажется компилировать твой инсталлятор.
elmariacci
29-08-2013, 19:00
посмотри в секции Setup значения DiskSpanning и ReserveBytes, при наличии - удали. Только учитывай, что если ехе будет получаться больше 2-х гиг, то компилятор откажется компилировать твой инсталлятор. »
их я удалил заранее,после этого перестал создаваться bin , но тогда выскакивает внутренняя ошибка extracttemporaryfile isgsg.dll not found.
R.i.m.s.k.y.
29-08-2013, 19:17
elmariacci, флаг nocompression поставь
Source: isgsg.dll; DestDir: {tmp}; Flags: noencryption solidbreak dontcopy nocompression
elmariacci
29-08-2013, 19:31
та же ошибка....внутренняя ошибка extracttemporaryfile isgsg.dll not found
[Setup]
OutputDir=F:\1
AppName=WOT
AppVersion=1
DefaultGroupName=WOT
OutputBaseFilename=прицел
WindowVisible=no
WindowShowCaption=no
WindowResizable=no
SolidCompression=yes
WizardImageStretch=True
DisableWelcomePage=True
DisableFinishedPage=True
UsePreviousSetupType=False
UsePreviousTasks=False
UsePreviousLanguage=False
FlatComponentsList=False
CreateAppDir=False
UsePreviousGroup=False
UninstallDisplayName=setup1
Encryption=True
InternalCompressLevel=ultra
Password=111111
PrivilegesRequired=none
Uninstallable=yes
CreateUninstallRegKey=yes
UninstallLogMode=overwrite
UninstallDisplayIcon={uninstallexe}
[Languages]
Name: "russian"; MessagesFile: "compiler:Languages\Russian.isl"
[Files]
Source: "F:\my\phone.jpg"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: isgsg.dll; DestDir: {tmp}; Flags: noencryption solidbreak dontcopy nocompression
Source: bass.dll; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: "F:\my\sound1.mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: "F:\my\sound.mp3"; DestDir: {tmp}; Flags: ignoreversion dontcopy nocompression solidbreak
Source: CoolXP4Green.cjstyles; DestDir: {tmp}; Flags: dontcopy
Source: ISSkin.dll; DestDir: {tmp}; Flags: dontcopy
Source: "F:\my\Прицел*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs sortfilesbyextension
[Icons]
Name: "{group}\{cm:UninstallProgram,WOT}"; Filename: "{uninstallexe}"
[UninstallDelete]
Type: filesandordirs; Name: "{app}"
[Code]
const
Indent=10;
Color = clblack;
function GetWindowLong(hWnd: HWND; nIndex: Integer): Longint;
external 'GetWindowLongA@user32.dll stdcall delayload';
function ssInitialize(hParent:HWND;ssTimeShow:integer;FadeOut:boolean;StretchMode:integer;BkgColor:DWORD):boo lean;
external 'ssInitialize@files:isgsg.dll stdcall delayload';
procedure ssDeInitialize;
external 'ssDeInitialize@files:isgsg.dll stdcall delayload';
procedure ssSetBkgImage(FileName:PChar);
external 'ssSetBkgImage@files:isgsg.dll stdcall delayload';
procedure ShowMP3Panel(hMainFrm:HWND;StartVolume:integer;DefMP3Dir,BASSDir,MLabel:PChar;IsShowMP3Info,IsBkgFrm Visible:boolean;ShowTimeMP3Info:integer;dBottom:integer);
external 'ShowMP3Panel@files:isgsg.dll stdcall';
procedure KillMP3Panel;
external 'KillMP3Panel@files:isgsg.dll stdcall';
procedure LoadSkin(lpszPath: String; lpszIniFileName: String);
external 'LoadSkin@files:isskin.dll stdcall';
procedure UnloadSkin();
external 'UnloadSkin@files:isskin.dll stdcall';
function InitializeSetup:boolean;
begin
ExtractTemporaryFile('isgsg.dll');
ExtractTemporaryFile('sound1.mp3');
ExtractTemporaryFile('sound.mp3');
ExtractTemporaryFile('bass.dll');
ExtractTemporaryFile('CoolXP4Green.cjstyles');
LoadSkin(ExpandConstant('{tmp}\CoolXP4Green.cjstyles'), '');
Result:=True;
end;
procedure InitializeWizard;
begin
ExtractTemporaryFile('isgsg.dll');
ShowMP3Panel(WizardForm.Handle,80,ExpandConstant('{tmp}'),ExpandConstant('{tmp}'),'www.example.com', False,True,0,Indent);
ssInitialize(GetWindowLong(MainForm.Handle,-8),0,False,1,$FF000000);
ExtractTemporaryFile('phone.jpg');
ssSetBkgImage(ExpandConstant('{tmp}')+'\phone.jpg');
WizardForm.Font.Color:=clLime;
WizardForm.Color:=Color;
WizardForm.WelcomePage.Color:=Color;
WizardForm.InnerPage.Color:=Color;
WizardForm.FinishedPage.Color:=Color;
WizardForm.LicensePage.Color:=Color;
WizardForm.PasswordPage.Color:=Color;
WizardForm.InfoBeforePage.Color:=Color;
WizardForm.UserInfoPage.Color:=Color;
WizardForm.SelectDirPage.Color:=Color;
WizardForm.SelectComponentsPage.Color:=Color;
WizardForm.SelectProgramGroupPage.Color:=Color;
WizardForm.SelectTasksPage.Color:=Color;
WizardForm.ReadyPage.Color:=Color;
WizardForm.PreparingPage.Color:=Color;
WizardForm.InstallingPage.Color:=clblack;
WizardForm.InfoAfterPage.Color:=Color;
WizardForm.DirEdit.Color:=Color;
WizardForm.DiskSpaceLabel.Color:=Color;
WizardForm.DirEdit.Color:=Color;
WizardForm.GroupEdit.Color:=Color;
WizardForm.PasswordLabel.Color:=Color;
WizardForm.PasswordEdit.Color:=Color;
WizardForm.PasswordEditLabel.Color:=Color;
WizardForm.ReadyMemo.Color:=Color;
WizardForm.TypesCombo.Color:=Color;
WizardForm.WelcomeLabel1.Color:=Color;
WizardForm.WelcomeLabel1.Font.Color:=clLime;
WizardForm.InfoBeforeClickLabel.Color:=Color;
WizardForm.MainPanel.Color:=Color;
WizardForm.PageNameLabel.Color:=Color;
WizardForm.PageDescriptionLabel.Color:=Color;
WizardForm.ReadyLabel.Color:=Color;
WizardForm.FinishedLabel.Color:=Color;
WizardForm.YesRadio.Color:=Color;
WizardForm.NoRadio.Color:=Color;
WizardForm.WelcomeLabel2.Color:=Color;
WizardForm.LicenseLabel1.Color:=Color;
WizardForm.InfoAfterClickLabel.Color:=Color;
WizardForm.ComponentsList.Color:=Color;
WizardForm.ComponentsDiskSpaceLabel.Color:=Color;
WizardForm.BeveledLabel.Color:=Color;
WizardForm.StatusLabel.Color:=Color;
WizardForm.FilenameLabel.Color:=Color;
WizardForm.SelectDirLabel.Color:=Color;
WizardForm.SelectStartMenuFolderLabel.Color:=Color;
WizardForm.SelectComponentsLabel.Color:=Color;
WizardForm.SelectTasksLabel.Color:=Color;
WizardForm.LicenseAcceptedRadio.Color:=Color;
WizardForm.LicenseNotAcceptedRadio.Color:=Color;
WizardForm.UserInfoNameLabel.Color:=Color;
WizardForm.UserInfoNameEdit.Color:=Color;
WizardForm.UserInfoOrgLabel.Color:=Color;
WizardForm.UserInfoOrgEdit.Color:=Color;
WizardForm.PreparingLabel.Color:=Color;
WizardForm.FinishedHeadingLabel.Color:=Color;
WizardForm.FinishedHeadingLabel.Font.Color:=clLime;
WizardForm.UserInfoSerialLabel.Color:=Color;
WizardForm.UserInfoSerialEdit.Color:=Color;
WizardForm.TasksList.Color:=Color;
WizardForm.RunList.Color:=Color;
WizardForm.SelectDirBrowseLabel.Color:=Color;
WizardForm.SelectStartMenuFolderBrowseLabel.Color:=Color;
WizardForm.PageNameLabel.Font.Color:=clLime;
WizardForm.Bevel.visible:=False;
WizardForm.BeveledLabel.visible:=False;
WizardForm.Bevel1.visible:=False;
end;
procedure DeinitializeSetup;
begin
KillMP3Panel;
ssDeInitialize;
UnloadSkin();
end;
Gnom_aka_Lexander
29-08-2013, 19:36
elmariacci, Password=111111 - попробуй эту строчку убрать. еще, когда запустишь инсталл, проверь в папке %TEMP% наличие этих файлов:ExtractTemporaryFile('isgsg.dll');
ExtractTemporaryFile('sound1.mp3');
ExtractTemporaryFile('sound.mp3');
ExtractTemporaryFile('bass.dll');
ExtractTemporaryFile('CoolXP4Green.cjstyles'); »
elmariacci
29-08-2013, 19:51
isgsg.dll
isskin.dll
другие не добавляются,теперь ошибка на стадии компиляции
и они по адрессу
Created temporary directory: C:\Users\chip\AppData\Local\Temp\is-70JG8.tmp
Gnom_aka_Lexander
29-08-2013, 19:55
и они по адрессу
Created temporary directory: C:\Users\chip\AppData\Local\Temp\is-70JG8.tmp »
это уже не компиляция а выполнение из под компилятора. PrivilegesRequired=none - удаление этой строчки должно помоч
elmariacci
29-08-2013, 20:35
я сам тут уже накрутил....удалил при этом строки ExtractTemporaryFile('isgsg.dll'); и заработало
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.