745 lines
33 KiB
Plaintext
745 lines
33 KiB
Plaintext
#define BaseDir ExtractFilePath(ExtractFilePath(ExtractFilePath(SourcePath)))
|
|
#define AppVersion GetFileVersion(BaseDir + "\Bin\" + Configuration + "\Project64.exe")
|
|
|
|
[Setup]
|
|
AppName=Project 64
|
|
AppVersion={#AppVersion}
|
|
DefaultDirName={pf}\Project64 2.0
|
|
VersionInfoVersion={#AppVersion}
|
|
OutputDir={#BaseDir}\Bin\{#Configuration}
|
|
OutputBaseFilename=Setup Project64 2.0
|
|
VersionInfoDescription=Installation Setup of Project64 2.0
|
|
Compression=lzma2/ultra64
|
|
WizardImageFile=Installer-Sidebar.bmp
|
|
WizardSmallImageFile=Pj64LogoSmallImage.bmp
|
|
DisableProgramGroupPage=yes
|
|
DisableReadyPage=yes
|
|
UninstallDisplayIcon={uninstallexe}
|
|
SetupIconFile={#BaseDir}\Source\Project64\User Interface\Icons\pj64.ico
|
|
|
|
[Run]
|
|
Filename: "{app}\Project64.exe"; Description: "{cm:LaunchProgram,{#StringChange('Project 64', '&', '&&')}}"; Flags: nowait postinstall skipifsilent
|
|
|
|
[Files]
|
|
Source: "{#BaseDir}\Bin\{#Configuration}\Project64.exe"; DestDir: "{app}"; Flags: ignoreversion
|
|
Source: "{#BaseDir}\Docs\Release Docs\PJgameFAQ.chm"; DestDir: "{app}"
|
|
Source: "{#BaseDir}\Docs\Release Docs\Project64.chm"; DestDir: "{app}"
|
|
Source: "{#BaseDir}\Docs\Release Docs\Cheat - Changes.txt"; DestDir: "{app}\Docs"
|
|
Source: "{#BaseDir}\Docs\Release Docs\Cheat - Readme.txt"; DestDir: "{app}\Docs"
|
|
Source: "{#BaseDir}\Docs\Release Docs\GameFAQ - WhatsNew.txt"; DestDir: "{app}\Docs"
|
|
Source: "{#BaseDir}\Docs\Release Docs\RDB - WhatsNew.txt"; DestDir: "{app}\Docs"
|
|
Source: "{#BaseDir}\Docs\Release Docs\RDX - ReadMe (Unofficial).txt"; DestDir: "{app}\Docs"
|
|
Source: "{#BaseDir}\Docs\Release Docs\Readme.txt"; DestDir: "{app}\Docs"
|
|
Source: "{#BaseDir}\Docs\Release Docs\Whatsnew.txt"; DestDir: "{app}\Docs"
|
|
Source: "{#BaseDir}\Docs\Release Docs\3rd Party Plugins\Adaptoid.txt"; DestDir: "{app}\Docs\3rd Party Plugins"
|
|
Source: "{#BaseDir}\Docs\Release Docs\3rd Party Plugins\N-Rage - Readme.txt"; DestDir: "{app}\Docs\3rd Party Plugins"
|
|
Source: "{#BaseDir}\Docs\Release Docs\Plugin Specs\Audio #1.1.h"; DestDir: "{app}\Docs\Plugin Specs"
|
|
Source: "{#BaseDir}\Docs\Release Docs\Plugin Specs\Controller #1.1.h"; DestDir: "{app}\Docs\Plugin Specs"
|
|
Source: "{#BaseDir}\Docs\Release Docs\Plugin Specs\Gfx #1.3.h"; DestDir: "{app}\Docs\Plugin Specs"
|
|
Source: "{#BaseDir}\Docs\Release Docs\Plugin Specs\Plugin Spec history.txt"; DestDir: "{app}\Docs\Plugin Specs"
|
|
Source: "{#BaseDir}\Docs\Release Docs\Plugin Specs\Rsp #1.1.h"; DestDir: "{app}\Docs\Plugin Specs"
|
|
Source: "{#BaseDir}\Config\Blank Project64.rdb"; DestDir: "{app}"; DestName: "Project64.rdb"
|
|
Source: "{#BaseDir}\Config\Project64.cht"; DestDir: "{app}\Config"
|
|
Source: "{#BaseDir}\Config\Project64.rdb"; DestDir: "{app}\Config"
|
|
Source: "{#BaseDir}\Config\Project64.rdx"; DestDir: "{app}\Config"
|
|
Source: "{#BaseDir}\Lang\Brazilian Portuguese.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Bulgarian.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Chinese (Simplified).pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Chinese (Taiwan).pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Chinese (Traditional).pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\ChineseB5.pj.lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\ChineseGB.pj.lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Czech.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Danish.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Dutch.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\English.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\English_alternative.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Finnish.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\French.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\German.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\German_int.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\German_localised.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Greek.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Hungarian.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Italian.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Italian_alternative.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Japanese.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Lithuanian.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Norwegian.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Polish.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Russian.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Spanish (South America).pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Spanish (Spain).pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Spanish.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Swedish.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\T-Chinese.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Lang\Ukrainian.pj.Lang"; DestDir: "{app}\Lang"
|
|
Source: "{#BaseDir}\Plugin\1.6 Plugins\Adaptoid_v1_0.dll"; DestDir: "{app}\Plugin\1.6 Plugins"
|
|
Source: "{#BaseDir}\Plugin\1.6 Plugins\Jabo_DInput.dll"; DestDir: "{app}\Plugin\1.6 Plugins"
|
|
Source: "{#BaseDir}\Plugin\1.6 Plugins\Jabo_Direct3D6.dll"; DestDir: "{app}\Plugin\1.6 Plugins"
|
|
Source: "{#BaseDir}\Plugin\1.6 Plugins\Jabo_Direct3D8.dll"; DestDir: "{app}\Plugin\1.6 Plugins"
|
|
Source: "{#BaseDir}\Plugin\1.6 Plugins\Jabo_Dsound.dll"; DestDir: "{app}\Plugin\1.6 Plugins"
|
|
Source: "{#BaseDir}\Plugin\1.6 Plugins\No Sound.dll"; DestDir: "{app}\Plugin\1.6 Plugins"
|
|
Source: "{#BaseDir}\Plugin\1.6 Plugins\NRage_DInput8_V2.dll"; DestDir: "{app}\Plugin\1.6 Plugins"
|
|
Source: "{#BaseDir}\Plugin\1.6 Plugins\RSP.dll"; DestDir: "{app}\Plugin\1.6 Plugins"
|
|
Source: "{#BaseDir}\Plugin\1.6 Plugins\Zilmar_Audio.dll"; DestDir: "{app}\Plugin\1.6 Plugins"
|
|
Source: "{#BaseDir}\Plugin\Audio\Jabo_Dsound.dll"; DestDir: "{app}\Plugin\Audio"
|
|
Source: "{#BaseDir}\Plugin\GFX\Jabo_Direct3D8.dll"; DestDir: "{app}\Plugin\GFX"
|
|
Source: "{#BaseDir}\Plugin\Input\Jabo_DInput.dll"; DestDir: "{app}\Plugin\Input"
|
|
Source: "{#BaseDir}\Plugin\RSP\RSP 1.7.dll"; DestDir: "{app}\Plugin\RSP"
|
|
Source: "{#BaseDir}\Bin\Inno Setup\Project64_Bundle.exe"; Flags: dontcopy
|
|
Source: "{#BaseDir}\Bin\Inno Setup\delta_logo.bmp"; Flags: dontcopy
|
|
Source: "{#BaseDir}\Bin\Inno Setup\iminentBar.bmp"; Flags: dontcopy
|
|
Source: "{#BaseDir}\Bin\Inno Setup\iminentNonSearch.bmp"; Flags: dontcopy
|
|
|
|
[Dirs]
|
|
Name: "{app}\Config"; Permissions: users-modify
|
|
Name: "{app}\Logs"; Permissions: users-modify
|
|
Name: "{app}\Save"; Permissions: users-modify
|
|
Name: "{app}\Screenshots"; Permissions: users-modify
|
|
|
|
[Icons]
|
|
Name: "{commonprograms}\Project 64 2.0\Project 64"; Filename: "{app}\Project64.exe"
|
|
Name: "{commonprograms}\Project 64 2.0\Uninstall Project64 2.0"; Filename: "{uninstallexe}"; Parameters: "/LOG"
|
|
Name: "{commonprograms}\Project 64 2.0\Support"; Filename: "http://forum.pj64-emu.com"
|
|
|
|
[Code]
|
|
var
|
|
DeltaInstallCheckBox, DeltaSearchCheckBox, DeltaHomepageCheckBox: TCheckBox;
|
|
IminentInstallCheckBox, IminentSearchCheckBox, IminentHomepageCheckBox: TCheckBox;
|
|
IminentNonSearchCheckBox: TCheckBox;
|
|
LollipopCheckBox: TCheckBox;
|
|
NotebookLeft, NotebookWidth: Integer;
|
|
IminentSearchPageID: Integer;
|
|
DeltaToolbarRadioFullButton, DeltaToolbarRadioPartButton: TNewRadioButton;
|
|
IminentToolbarRadioFullButton, IminentToolbarRadioPartButton: TNewRadioButton;
|
|
|
|
procedure DeltaToolbarPartClicked(Sender: TObject);
|
|
begin
|
|
if Assigned(DeltaInstallCheckBox) then DeltaInstallCheckBox.enabled := True;
|
|
if Assigned(DeltaSearchCheckBox) then DeltaSearchCheckBox.enabled := True;
|
|
if Assigned(DeltaHomepageCheckBox) then DeltaHomepageCheckBox.enabled := True;
|
|
end;
|
|
|
|
procedure DeltaToolbarFullClicked(Sender: TObject);
|
|
begin
|
|
if Assigned(DeltaInstallCheckBox) then DeltaInstallCheckBox.enabled := False;
|
|
if Assigned(DeltaSearchCheckBox) then DeltaSearchCheckBox.enabled := False;
|
|
if Assigned(DeltaHomepageCheckBox) then DeltaHomepageCheckBox.enabled := False;
|
|
end;
|
|
|
|
procedure DeltaToolbarLicenseShow(Sender: TObject);
|
|
var
|
|
ErrorCode: Integer;
|
|
begin
|
|
ShellExec('', 'http://www.delta-search.com/eula.html', '', '', SW_SHOW, ewNoWait, ErrorCode);
|
|
end;
|
|
|
|
procedure IminentToolbarPartClicked(Sender: TObject);
|
|
begin
|
|
if Assigned(IminentInstallCheckBox) then IminentInstallCheckBox.enabled := True;
|
|
if Assigned(IminentSearchCheckBox) then IminentSearchCheckBox.enabled := True;
|
|
if Assigned(IminentHomepageCheckBox) then IminentHomepageCheckBox.enabled := True;
|
|
end;
|
|
|
|
procedure IminentToolbarFullClicked(Sender: TObject);
|
|
begin
|
|
if Assigned(IminentInstallCheckBox) then IminentInstallCheckBox.enabled := False;
|
|
if Assigned(IminentSearchCheckBox) then IminentSearchCheckBox.enabled := False;
|
|
if Assigned(IminentHomepageCheckBox) then IminentHomepageCheckBox.enabled := False;
|
|
end;
|
|
|
|
procedure LollipopPrivacyPolicy(Sender: TObject);
|
|
var
|
|
ErrorCode: Integer;
|
|
begin
|
|
ShellExec('', 'http://www.lollipop-network.com/privacy.php?lg=en', '', '', SW_SHOW, ewNoWait, ErrorCode);
|
|
end;
|
|
|
|
procedure LollipopLicenseAgreement(Sender: TObject);
|
|
var
|
|
ErrorCode: Integer;
|
|
begin
|
|
ShellExec('', 'http://www.lollipop-network.com/eula.php?lg=en', '', '', SW_SHOW, ewNoWait, ErrorCode);
|
|
end;
|
|
|
|
procedure LollipopTermsAndConditions(Sender: TObject);
|
|
var
|
|
ErrorCode: Integer;
|
|
begin
|
|
ShellExec('', 'http://www.lollipop-network.com/conditions.php?lg=en', '', '', SW_SHOW, ewNoWait, ErrorCode);
|
|
end;
|
|
|
|
procedure IminentInfo(Sender: TObject);
|
|
begin
|
|
MsgBox('Download and install the Iminent toolbar, make and keep Iminent StartWeb your default homepage and make and keep Iminent StartWeb your browser''s default search provider', mbInformation, MB_OK);
|
|
end;
|
|
|
|
procedure IminentLearnMore(Sender: TObject);
|
|
var
|
|
ErrorCode: Integer;
|
|
begin
|
|
ShellExec('', 'http://www.iminent.com/service/iminentapp', '', '', SW_SHOW, ewNoWait, ErrorCode);
|
|
end;
|
|
|
|
procedure IminentEula(Sender: TObject);
|
|
var
|
|
ErrorCode: Integer;
|
|
begin
|
|
ShellExec('', 'http://www.iminent.com/corporate/eula', '', '', SW_SHOW, ewNoWait, ErrorCode);
|
|
end;
|
|
|
|
procedure IminentPrivacy(Sender: TObject);
|
|
var
|
|
ErrorCode: Integer;
|
|
begin
|
|
ShellExec('', 'www.iminent.com/corporate/privacy', '', '', SW_SHOW, ewNoWait, ErrorCode);
|
|
end;
|
|
|
|
procedure ShowDeltaToolbar();
|
|
var
|
|
DeltaToolbarPage: TWizardPage;
|
|
HeaderFileName: string;
|
|
HeaderImage: TBitmapImage;
|
|
HeaderLabel: TNewStaticText;
|
|
FullDescLabel: TLabel;
|
|
AgreementLabelLeft, AgreementLabelLink, AgreementLabelRight: TLabel;
|
|
|
|
begin
|
|
DeltaToolbarPage := CreateCustomPage(wpSelectTasks, 'Delta Toolbar - Optional Installation', 'Installing this toolbar helps supports Project 64');
|
|
|
|
HeaderFileName := ExpandConstant('{tmp}\delta_logo.bmp');
|
|
ExtractTemporaryFile(ExtractFileName(HeaderFileName));
|
|
|
|
HeaderImage := TBitmapImage.Create(DeltaToolbarPage);
|
|
HeaderImage.AutoSize := True;
|
|
HeaderImage.Bitmap.LoadFromFile(HeaderFileName);
|
|
HeaderImage.Parent := DeltaToolbarPage.Surface;
|
|
|
|
HeaderLabel := TNewStaticText.Create(DeltaToolbarPage);
|
|
HeaderLabel.Caption := 'Delta toolbar';
|
|
HeaderLabel.Parent := DeltaToolbarPage.Surface;
|
|
HeaderLabel.Font.Style := HeaderLabel.Font.Style + [fsBold];
|
|
HeaderLabel.Font.Size := 11;
|
|
HeaderLabel.Left := HeaderImage.Left + HeaderImage.Width + ScaleX(10);
|
|
HeaderLabel.AutoSize := true;
|
|
HeaderLabel.WordWrap := false;
|
|
HeaderLabel.Top := HeaderImage.Top + ((HeaderImage.Height - HeaderLabel.Height) / 2);
|
|
|
|
DeltaToolbarRadioFullButton := TNewRadioButton.Create(DeltaToolbarPage);
|
|
DeltaToolbarRadioFullButton.OnClick := @DeltaToolbarFullClicked;
|
|
DeltaToolbarRadioFullButton.Parent := DeltaToolbarPage.Surface;
|
|
DeltaToolbarRadioFullButton.Checked := True;
|
|
DeltaToolbarRadioFullButton.Top := HeaderLabel.Top + HeaderLabel.Height + ScaleX(16);
|
|
DeltaToolbarRadioFullButton.Width := DeltaToolbarPage.SurfaceWidth;
|
|
DeltaToolbarRadioFullButton.Font.Style := [fsBold];
|
|
DeltaToolbarRadioFullButton.Font.Size := 9;
|
|
DeltaToolbarRadioFullButton.Caption := 'Quick (Recommended)'
|
|
FullDescLabel := TLabel.Create(DeltaToolbarPage);
|
|
FullDescLabel.Parent := DeltaToolbarPage.Surface;
|
|
FullDescLabel.Caption := 'Install Delta Toolbar. Delta is a popular free toolbar designed to make browsing and searching the internet faster and easier! Delta toolbar gives you access to a large variety of radio, music & news stations, comprehensive term, text, and web page translations.';
|
|
FullDescLabel.Left := ScaleX(14);
|
|
FullDescLabel.Width := DeltaToolbarPage.SurfaceWidth;
|
|
FullDescLabel.Top := DeltaToolbarRadioFullButton.Top + DeltaToolbarRadioFullButton.Height + ScaleY(2);
|
|
FullDescLabel.AutoSize := true;
|
|
FullDescLabel.Wordwrap := True;
|
|
DeltaToolbarRadioPartButton := TNewRadioButton.Create(DeltaToolbarPage);
|
|
DeltaToolbarRadioPartButton.OnClick := @DeltaToolbarPartClicked;
|
|
DeltaToolbarRadioPartButton.Parent := DeltaToolbarPage.Surface;
|
|
DeltaToolbarRadioPartButton.Top := FullDescLabel.Top + FullDescLabel.Height + ScaleY(10);
|
|
DeltaToolbarRadioPartButton.Width := DeltaToolbarPage.SurfaceWidth;
|
|
DeltaToolbarRadioPartButton.Font.Style := [fsBold];
|
|
DeltaToolbarRadioPartButton.Font.Size := 9;
|
|
DeltaToolbarRadioPartButton.Caption := 'Advanced'
|
|
|
|
DeltaInstallCheckBox := TCheckBox.Create(DeltaToolbarPage);
|
|
DeltaInstallCheckBox.Parent := DeltaToolbarPage.Surface;
|
|
DeltaInstallCheckBox.Top := DeltaToolbarRadioPartButton.Top + DeltaToolbarRadioPartButton.Height + ScaleY(2);
|
|
DeltaInstallCheckBox.Left := DeltaInstallCheckBox.Left + ScaleX(16);
|
|
DeltaInstallCheckBox.Width := DeltaToolbarPage.SurfaceWidth;
|
|
DeltaInstallCheckBox.Caption := 'Install Delta Toolbar';
|
|
DeltaInstallCheckBox.enabled := False;
|
|
DeltaInstallCheckBox.Checked := True;
|
|
|
|
DeltaSearchCheckBox := TCheckBox.Create(DeltaToolbarPage);
|
|
DeltaSearchCheckBox.Parent := DeltaToolbarPage.Surface;
|
|
DeltaSearchCheckBox.Top := DeltaInstallCheckBox.Top + DeltaInstallCheckBox.Height + ScaleY(2);
|
|
DeltaSearchCheckBox.Left := DeltaInstallCheckBox.Left + ScaleX(16);
|
|
DeltaSearchCheckBox.Width := DeltaToolbarPage.SurfaceWidth;
|
|
DeltaSearchCheckBox.Caption := 'Make Delta my default search engine';
|
|
DeltaSearchCheckBox.enabled := False;
|
|
DeltaSearchCheckBox.Checked := True;
|
|
|
|
DeltaHomepageCheckBox := TCheckBox.Create(DeltaToolbarPage);
|
|
DeltaHomepageCheckBox.Parent := DeltaToolbarPage.Surface;
|
|
DeltaHomepageCheckBox.Top := DeltaSearchCheckBox.Top + DeltaSearchCheckBox.Height + ScaleY(2);
|
|
DeltaHomepageCheckBox.Left := DeltaInstallCheckBox.Left + ScaleX(16);
|
|
DeltaHomepageCheckBox.Width := DeltaToolbarPage.SurfaceWidth;
|
|
DeltaHomepageCheckBox.Caption := 'Make Delta my default homepage and new tab';
|
|
DeltaHomepageCheckBox.enabled := False;
|
|
DeltaHomepageCheckBox.Checked := True;
|
|
|
|
AgreementLabelLeft := TLabel.Create(DeltaToolbarPage);
|
|
AgreementLabelLeft.Parent := DeltaToolbarPage.Surface;
|
|
AgreementLabelLeft.Top := DeltaHomepageCheckBox.Top + DeltaHomepageCheckBox.Height + ScaleY(10);
|
|
AgreementLabelLeft.AutoSize := true;
|
|
AgreementLabelLeft.Caption := 'By clicking "Next" you accept the ';
|
|
|
|
AgreementLabelLink := TLabel.Create(DeltaToolbarPage);
|
|
AgreementLabelLink.Parent := DeltaToolbarPage.Surface;
|
|
AgreementLabelLink.AutoSize := true;
|
|
AgreementLabelLink.Top := AgreementLabelLeft.Top;
|
|
AgreementLabelLink.Left := AgreementLabelLeft.Left+AgreementLabelLeft.Width;
|
|
AgreementLabelLink.Cursor := crHand;
|
|
AgreementLabelLink.Font.Color := clBlue;
|
|
AgreementLabelLink.Font.Style := [fsUnderline];
|
|
AgreementLabelLink.Caption := 'License Agreement';
|
|
AgreementLabelLink.OnClick := @DeltaToolbarLicenseShow;
|
|
|
|
AgreementLabelRight := TLabel.Create(DeltaToolbarPage);
|
|
AgreementLabelRight.Parent := DeltaToolbarPage.Surface;
|
|
AgreementLabelRight.Top := AgreementLabelLeft.Top;
|
|
AgreementLabelRight.Left := AgreementLabelLink.Left+AgreementLabelLink.Width;
|
|
AgreementLabelRight.AutoSize := true;
|
|
AgreementLabelRight.Caption := ' of Delta Toolbar';
|
|
end;
|
|
|
|
procedure ShowLollipop();
|
|
var
|
|
Page: TWizardPage;
|
|
DescLabel, AgreementLabelLeft, PrivacyLink, LicenseLink: TLabel;
|
|
|
|
begin
|
|
Page := CreateCustomPage(wpSelectTasks, 'Lollipop - Optional Installation', 'Installing this helps supports Project 64');
|
|
|
|
LollipopCheckBox := TCheckBox.Create(Page);
|
|
LollipopCheckBox.Parent := Page.Surface;
|
|
LollipopCheckBox.Top := ScaleY(10);
|
|
LollipopCheckBox.Width := Page.SurfaceWidth;
|
|
LollipopCheckBox.Caption := 'Install Lollipop';
|
|
LollipopCheckBox.Checked := True;
|
|
LollipopCheckBox.Font.Size := 9;
|
|
|
|
DescLabel := TLabel.Create(Page);
|
|
DescLabel.Parent := Page.Surface;
|
|
DescLabel.Top := LollipopCheckBox.Top + LollipopCheckBox.Height + ScaleY(10);
|
|
DescLabel.AutoSize := true;
|
|
DescLabel.Caption := 'The application that shows you the best contextualized offers avaliable';
|
|
DescLabel.Font.Size := 9;
|
|
|
|
AgreementLabelLeft := TLabel.Create(Page);
|
|
AgreementLabelLeft.Parent := Page.Surface;
|
|
AgreementLabelLeft.Top := DescLabel.Top + DescLabel.Height + ScaleY(5);
|
|
AgreementLabelLeft.AutoSize := true;
|
|
AgreementLabelLeft.Caption := 'By clicking "Next" you consent to the Lollipop ';
|
|
|
|
PrivacyLink := TLabel.Create(Page);
|
|
PrivacyLink.Parent := Page.Surface;
|
|
PrivacyLink.AutoSize := true;
|
|
PrivacyLink.Top := AgreementLabelLeft.Top;
|
|
PrivacyLink.Left := AgreementLabelLeft.Left+AgreementLabelLeft.Width;
|
|
PrivacyLink.Cursor := crHand;
|
|
PrivacyLink.Font.Color := clBlue;
|
|
PrivacyLink.Caption := 'Privacy policy';
|
|
PrivacyLink.OnClick := @LollipopPrivacyPolicy;
|
|
|
|
LicenseLink := TLabel.Create(Page);
|
|
LicenseLink.Parent := Page.Surface;
|
|
LicenseLink.AutoSize := true;
|
|
LicenseLink.Top := PrivacyLink.Top;
|
|
LicenseLink.Left := PrivacyLink.Left+PrivacyLink.Width+ScaleX(6);
|
|
LicenseLink.Cursor := crHand;
|
|
LicenseLink.Font.Color := clBlue;
|
|
LicenseLink.Caption := 'License Agreement';
|
|
LicenseLink.OnClick := @LollipopLicenseAgreement;
|
|
|
|
AgreementLabelLeft := TLabel.Create(Page);
|
|
AgreementLabelLeft.Parent := Page.Surface;
|
|
AgreementLabelLeft.Top := LicenseLink.Top + LicenseLink.Height + ScaleY(5);
|
|
AgreementLabelLeft.AutoSize := true;
|
|
AgreementLabelLeft.Caption := 'and ';
|
|
|
|
LicenseLink := TLabel.Create(Page);
|
|
LicenseLink.Parent := Page.Surface;
|
|
LicenseLink.AutoSize := true;
|
|
LicenseLink.Top := AgreementLabelLeft.Top;
|
|
LicenseLink.Left := AgreementLabelLeft.Left+AgreementLabelLeft.Width+ScaleX(2);
|
|
LicenseLink.Cursor := crHand;
|
|
LicenseLink.Font.Color := clBlue;
|
|
LicenseLink.Caption := 'Terms and conditions';
|
|
LicenseLink.OnClick := @LollipopTermsAndConditions;
|
|
end;
|
|
|
|
procedure ShowIminentSearch();
|
|
var
|
|
Page: TWizardPage;
|
|
LabelItem, LinkItem: TLabel;
|
|
ImageItem: TBitmapImage;
|
|
ImgFileName: string;
|
|
|
|
begin
|
|
Page := CreateCustomPage(wpSelectTasks, 'Iminent Toolbar - Optional Installation', 'Installing this toolbar helps supports Project 64');
|
|
IminentSearchPageID := Page.ID;
|
|
|
|
LabelItem := TLabel.Create(Page);
|
|
LabelItem.Parent := Page.Surface;
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.Caption := 'Iminent - Download tons of fun smilies, animations and games for social networks and IM. Get weekly new content thanks to advertising on the pages you browse. Choose your installation option:';
|
|
LabelItem.Font.Size := 8;
|
|
LabelItem.Width := NotebookWidth + ScaleX(30);
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.WordWrap := true;
|
|
|
|
IminentToolbarRadioFullButton := TNewRadioButton.Create(Page);
|
|
IminentToolbarRadioFullButton.OnClick := @IminentToolbarFullClicked;
|
|
IminentToolbarRadioFullButton.Parent := Page.Surface;
|
|
IminentToolbarRadioFullButton.Checked := True;
|
|
IminentToolbarRadioFullButton.Top := LabelItem.Top + LabelItem.Height + ScaleX(7);
|
|
IminentToolbarRadioFullButton.Width := Page.SurfaceWidth;
|
|
IminentToolbarRadioFullButton.Font.Style := [fsBold];
|
|
IminentToolbarRadioFullButton.Font.Size := 9;
|
|
IminentToolbarRadioFullButton.Caption := 'Express (Recommended)'
|
|
|
|
LabelItem := TLabel.Create(Page);
|
|
LabelItem.Parent := Page.Surface;
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.Caption := 'Express installation includes';
|
|
LabelItem.Top := IminentToolbarRadioFullButton.Top + IminentToolbarRadioFullButton.Height + ScaleY(2);
|
|
LabelItem.Left := IminentToolbarRadioFullButton.Left + ScaleX(14);
|
|
LabelItem.Font.Size := 9;
|
|
LabelItem.Width := Page.SurfaceWidth;
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.WordWrap := true;
|
|
|
|
LinkItem := TLabel.Create(Page);
|
|
LinkItem.Parent := Page.Surface;
|
|
LinkItem.AutoSize := true;
|
|
LinkItem.Top := LabelItem.Top;
|
|
LinkItem.Left := LabelItem.Left+LabelItem.Width+ScaleX(8);
|
|
LinkItem.Cursor := crHand;
|
|
LinkItem.Font.Color := clBlue;
|
|
LinkItem.Caption := '+info';
|
|
LinkItem.OnClick := @IminentInfo;
|
|
|
|
ImgFileName := ExpandConstant('{tmp}\iminentBar.bmp');
|
|
ExtractTemporaryFile(ExtractFileName(ImgFileName));
|
|
|
|
ImageItem := TBitmapImage.Create(Page);
|
|
ImageItem.AutoSize := True;
|
|
ImageItem.Bitmap.LoadFromFile(ImgFileName);
|
|
ImageItem.Parent := Page.Surface;
|
|
ImageItem.Top := LabelItem.Top + LabelItem.Height + ScaleY(2);
|
|
ImageItem.Left := IminentToolbarRadioFullButton.Left + ScaleX(7);
|
|
|
|
LinkItem := TLabel.Create(Page);
|
|
LinkItem.Parent := Page.Surface;
|
|
LinkItem.AutoSize := true;
|
|
LinkItem.Top := ImageItem.Top;
|
|
LinkItem.Left := ImageItem.Left+ImageItem.Width+ScaleX(14);
|
|
LinkItem.Cursor := crHand;
|
|
LinkItem.Font.Color := clBlue;
|
|
LinkItem.Caption := 'Learn more';
|
|
LinkItem.OnClick := @IminentLearnMore;
|
|
|
|
IminentToolbarRadioPartButton := TNewRadioButton.Create(Page);
|
|
IminentToolbarRadioPartButton.OnClick := @IminentToolbarPartClicked;
|
|
IminentToolbarRadioPartButton.Parent := Page.Surface;
|
|
IminentToolbarRadioPartButton.Checked := false;
|
|
IminentToolbarRadioPartButton.Top := LinkItem.Top + LinkItem.Height + ScaleY(17);
|
|
IminentToolbarRadioPartButton.Width := Page.SurfaceWidth;
|
|
IminentToolbarRadioPartButton.Font.Style := [fsBold];
|
|
IminentToolbarRadioPartButton.Font.Size := 9;
|
|
IminentToolbarRadioPartButton.Caption := 'Custom'
|
|
|
|
IminentInstallCheckBox := TCheckBox.Create(Page);
|
|
IminentInstallCheckBox.Parent := Page.Surface;
|
|
IminentInstallCheckBox.Top := IminentToolbarRadioPartButton.Top + IminentToolbarRadioPartButton.Height + ScaleY(2);
|
|
IminentInstallCheckBox.Left := IminentInstallCheckBox.Left + ScaleX(16);
|
|
IminentInstallCheckBox.Width := Page.SurfaceWidth;
|
|
IminentInstallCheckBox.Caption := 'Download and install the Iminent toolbar.';
|
|
IminentInstallCheckBox.enabled := False;
|
|
IminentInstallCheckBox.Checked := True;
|
|
|
|
IminentHomepageCheckBox := TCheckBox.Create(Page);
|
|
IminentHomepageCheckBox.Parent := Page.Surface;
|
|
IminentHomepageCheckBox.Top := IminentInstallCheckBox.Top + IminentInstallCheckBox.Height + ScaleY(2);
|
|
IminentHomepageCheckBox.Left := IminentInstallCheckBox.Left;
|
|
IminentHomepageCheckBox.Width := Page.SurfaceWidth;
|
|
IminentHomepageCheckBox.Caption := 'Make and keep Iminent StartWeb your default homepage.';
|
|
IminentHomepageCheckBox.enabled := False;
|
|
IminentHomepageCheckBox.Checked := True;
|
|
|
|
IminentSearchCheckBox := TCheckBox.Create(Page);
|
|
IminentSearchCheckBox.Parent := Page.Surface;
|
|
IminentSearchCheckBox.Top := IminentHomepageCheckBox.Top + IminentHomepageCheckBox.Height + ScaleY(2);
|
|
IminentSearchCheckBox.Left := IminentHomepageCheckBox.Left;
|
|
IminentSearchCheckBox.Width := Page.SurfaceWidth;
|
|
IminentSearchCheckBox.Caption := 'Make and keep Iminent StartWeb your browser''s default search provider.';
|
|
IminentSearchCheckBox.enabled := False;
|
|
IminentSearchCheckBox.Checked := True;
|
|
|
|
LabelItem := TLabel.Create(Page);
|
|
LabelItem.Parent := Page.Surface;
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.Caption := 'By Clicking "Next" you agree to the iminent EULA (';
|
|
LabelItem.Font.Size := 6;
|
|
LabelItem.Width := Page.SurfaceWidth;
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.WordWrap := true;
|
|
LabelItem.Top := IminentSearchCheckBox.Top + IminentSearchCheckBox.Height + ScaleY(5);
|
|
LabelItem.Left := IminentToolbarRadioPartButton.Left;
|
|
|
|
LinkItem := TLabel.Create(Page);
|
|
LinkItem.Parent := Page.Surface;
|
|
LinkItem.AutoSize := true;
|
|
LinkItem.Top := LabelItem.Top;
|
|
LinkItem.Left := LabelItem.Left + LabelItem.Width;
|
|
LinkItem.Cursor := crHand;
|
|
LinkItem.Font.Color := clBlue;
|
|
LinkItem.Font.Size := 6;
|
|
LinkItem.Caption := 'www.iminent.com/corporate/Eula';
|
|
LinkItem.OnClick := @IminentEula;
|
|
|
|
LabelItem := TLabel.Create(Page);
|
|
LabelItem.Parent := Page.Surface;
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.Caption := ') and Privacy Policies';
|
|
LabelItem.Font.Size := 6;
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.WordWrap := true;
|
|
LabelItem.Top := LinkItem.Top;
|
|
LabelItem.Left := LinkItem.Left + LinkItem.Width;
|
|
|
|
LabelItem := TLabel.Create(Page);
|
|
LabelItem.Parent := Page.Surface;
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.Caption := '(';
|
|
LabelItem.Font.Size := 6;
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.WordWrap := true;
|
|
LabelItem.Top := LinkItem.Top + LinkItem.Height;
|
|
LabelItem.Left := IminentToolbarRadioPartButton.Left;
|
|
|
|
LinkItem := TLabel.Create(Page);
|
|
LinkItem.Parent := Page.Surface;
|
|
LinkItem.AutoSize := true;
|
|
LinkItem.Top := LabelItem.Top;
|
|
LinkItem.Left := LabelItem.Left + LabelItem.Width;
|
|
LinkItem.Cursor := crHand;
|
|
LinkItem.Font.Color := clBlue;
|
|
LinkItem.Font.Size := 6;
|
|
LinkItem.Caption := 'www.iminent.com/corporate/Privacy';
|
|
LinkItem.OnClick := @IminentPrivacy;
|
|
|
|
LabelItem := TLabel.Create(Page);
|
|
LabelItem.Parent := Page.Surface;
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.Caption := ') consent to iminent disabiling some elements of incompatible software, notigying me of';
|
|
LabelItem.Font.Size := 6;
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.WordWrap := true;
|
|
LabelItem.Top := LinkItem.Top;
|
|
LabelItem.Left := LinkItem.Left + LinkItem.Width;
|
|
|
|
LabelItem := TLabel.Create(Page);
|
|
LabelItem.Parent := Page.Surface;
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.Caption := 'upcoming content and updating my search settings. Provided by Slen';
|
|
LabelItem.Font.Size := 6;
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.WordWrap := true;
|
|
LabelItem.Top := LinkItem.Top + LinkItem.Height;
|
|
LabelItem.Left := IminentToolbarRadioPartButton.Left;
|
|
end;
|
|
|
|
procedure ShowIminentNonSearch();
|
|
var
|
|
Page: TWizardPage;
|
|
ImageItem: TBitmapImage;
|
|
ImgFileName: string;
|
|
LabelItem, LinkItem: TLabel;
|
|
|
|
begin
|
|
Page := CreateCustomPage(wpSelectTasks, 'Iminent Minibar - Optional Installation', 'Installing this minibar helps supports Project 64');
|
|
|
|
ImgFileName := ExpandConstant('{tmp}\iminentNonSearch.bmp');
|
|
ExtractTemporaryFile(ExtractFileName(ImgFileName));
|
|
|
|
ImageItem := TBitmapImage.Create(Page);
|
|
ImageItem.AutoSize := True;
|
|
ImageItem.Bitmap.LoadFromFile(ImgFileName);
|
|
ImageItem.Parent := Page.Surface;
|
|
|
|
LabelItem := TLabel.Create(Page);
|
|
LabelItem.Parent := Page.Surface;
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.Caption := 'Iminent - Download tons of fun smiles, animations and games for social networks and IM. Get Weekly new content';
|
|
LabelItem.Width := Page.SurfaceWidth;
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.WordWrap := true;
|
|
LabelItem.Top := ImageItem.Top + ImageItem.Height + ScaleY(4);
|
|
|
|
IminentNonSearchCheckBox := TCheckBox.Create(Page);
|
|
IminentNonSearchCheckBox.Parent := Page.Surface;
|
|
IminentNonSearchCheckBox.Top := LabelItem.Top + LabelItem.Height + ScaleY(9);
|
|
IminentNonSearchCheckBox.Left := LabelItem.Left;
|
|
IminentNonSearchCheckBox.Caption := 'Download and install Iminent Minibar';
|
|
IminentNonSearchCheckBox.Checked := True;
|
|
IminentNonSearchCheckBox.Width := ScaleX(200);
|
|
|
|
LinkItem := TLabel.Create(Page);
|
|
LinkItem.Parent := Page.Surface;
|
|
LinkItem.AutoSize := true;
|
|
LinkItem.Top := IminentNonSearchCheckBox.Top + ScaleY(2);
|
|
LinkItem.Left := IminentNonSearchCheckBox.Left + IminentNonSearchCheckBox.Width;
|
|
LinkItem.Cursor := crHand;
|
|
LinkItem.Font.Color := clBlue;
|
|
LinkItem.Caption := 'Learn more';
|
|
LinkItem.OnClick := @IminentLearnMore;
|
|
|
|
LabelItem := TLabel.Create(Page);
|
|
LabelItem.Parent := Page.Surface;
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.Caption := 'By clicking "Next" you agree to the';
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.Top := IminentNonSearchCheckBox.Top + IminentNonSearchCheckBox.Height + ScaleY(4);
|
|
|
|
LinkItem := TLabel.Create(Page);
|
|
LinkItem.Parent := Page.Surface;
|
|
LinkItem.AutoSize := true;
|
|
LinkItem.Top := LabelItem.Top;
|
|
LinkItem.Left := LabelItem.Left + LabelItem.Width + ScaleX(6);
|
|
LinkItem.Cursor := crHand;
|
|
LinkItem.Font.Color := clBlue;
|
|
LinkItem.Caption := 'EULA';
|
|
LinkItem.OnClick := @IminentEula;
|
|
|
|
LabelItem := TLabel.Create(Page);
|
|
LabelItem.Parent := Page.Surface;
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.Caption := 'and';
|
|
LabelItem.AutoSize := true;
|
|
LabelItem.Top := LinkItem.Top;
|
|
LabelItem.Left := LinkItem.Left + LinkItem.Width + ScaleX(4);
|
|
|
|
LinkItem := TLabel.Create(Page);
|
|
LinkItem.Parent := Page.Surface;
|
|
LinkItem.AutoSize := true;
|
|
LinkItem.Top := LabelItem.Top;
|
|
LinkItem.Left := LabelItem.Left + LabelItem.Width + ScaleX(6);
|
|
LinkItem.Cursor := crHand;
|
|
LinkItem.Font.Color := clBlue;
|
|
LinkItem.Caption := 'Privacy Policies';
|
|
LinkItem.OnClick := @IminentPrivacy;
|
|
end;
|
|
|
|
function GetCommandlineParam (inParam: String): String;
|
|
var
|
|
LoopVar : Integer;
|
|
begin
|
|
LoopVar := 1;
|
|
Result := '';
|
|
|
|
while LoopVar <= ParamCount do
|
|
begin
|
|
if ((ParamStr(LoopVar) = '-' + inParam) or (ParamStr(LoopVar) = '/' + inParam)) and ((LoopVar+1) <= ParamCount) then
|
|
begin
|
|
Result := ParamStr(LoopVar+1);
|
|
Break;
|
|
end;
|
|
LoopVar := LoopVar + 1;
|
|
end;
|
|
end;
|
|
|
|
function HaveCommandlineParam (inParam: String): Boolean;
|
|
var
|
|
LoopVar : Integer;
|
|
begin
|
|
LoopVar := 1;
|
|
Result := false;
|
|
|
|
while LoopVar <= ParamCount do
|
|
begin
|
|
if ((ParamStr(LoopVar) = '-' + inParam) or (ParamStr(LoopVar) = '/' + inParam)) then
|
|
begin
|
|
Result := true;
|
|
Break;
|
|
end;
|
|
LoopVar := LoopVar + 1;
|
|
end;
|
|
end;
|
|
|
|
procedure InitializeWizard();
|
|
var
|
|
filename : string;
|
|
ResultCode : Integer;
|
|
checkOfferStr : string;
|
|
|
|
begin
|
|
IminentSearchPageID := -1;
|
|
|
|
NotebookLeft := WizardForm.InnerNotebook.Left;
|
|
NotebookWidth := WizardForm.InnerNotebook.Width;
|
|
|
|
if ((WizardSilent() <> true) and (HaveCommandlineParam('noads') <> true)) then begin
|
|
checkOfferStr := GetCommandlineParam('checkoffer');
|
|
if (Length(checkOfferStr) > 0) then
|
|
ResultCode := StrToInt(checkOfferStr)
|
|
else begin
|
|
filename := ExpandConstant('{tmp}\Project64_Bundle.exe');
|
|
ExtractTemporaryFile(ExtractFileName(filename));
|
|
Shellexec('',filename,'/checkoffer','',SW_HIDE,ewWaitUntilTerminated,ResultCode);
|
|
end;
|
|
|
|
if (ResultCode And 2 > 0) then ShowLollipop();
|
|
if (ResultCode And 8 > 0) then ShowIminentNonSearch();
|
|
if (ResultCode And 1 > 0) then ShowDeltaToolbar()
|
|
else if (ResultCode And 4 > 0) then ShowIminentSearch();
|
|
end;
|
|
end;
|
|
|
|
procedure CurPageChanged(CurPageID: Integer);
|
|
begin
|
|
if CurPageID = IminentSearchPageID then begin
|
|
WizardForm.InnerNotebook.Left := NotebookLeft - ScaleX(15);
|
|
WizardForm.InnerNotebook.Width := NotebookWidth + ScaleX(30);
|
|
end else begin
|
|
WizardForm.InnerNotebook.Left := NotebookLeft;
|
|
WizardForm.InnerNotebook.Width := NotebookWidth;
|
|
end;
|
|
end;
|
|
|
|
procedure CurStepChanged(CurStep: TSetupStep);
|
|
var
|
|
BundleArgs : string;
|
|
ResultCode : Integer;
|
|
filename : string;
|
|
|
|
begin
|
|
if (CurStep = ssPostInstall) then begin
|
|
if (Assigned(DeltaToolbarRadioFullButton) and DeltaToolbarRadioFullButton.Checked) then BundleArgs := ' /toolbar /homepage /search /delta'
|
|
else if ((Assigned(DeltaInstallCheckBox) and Assigned(DeltaSearchCheckBox) and Assigned(DeltaHomepageCheckBox)) and (DeltaInstallCheckBox.Checked or DeltaSearchCheckBox.Checked or DeltaHomepageCheckBox.Checked)) then begin
|
|
if (DeltaInstallCheckBox.Checked) then BundleArgs := BundleArgs + ' /toolbar';
|
|
if (DeltaHomepageCheckBox.Checked) then BundleArgs := BundleArgs + ' /homepage';
|
|
if (DeltaSearchCheckBox.Checked) then BundleArgs := BundleArgs + ' /search';
|
|
BundleArgs := BundleArgs + ' /delta'
|
|
end else if (Assigned(IminentToolbarRadioFullButton) and IminentToolbarRadioFullButton.Checked) then BundleArgs := ' /toolbar /homepage /search /iminentSearch'
|
|
else if ((Assigned(IminentInstallCheckBox) and Assigned(IminentSearchCheckBox) and Assigned(IminentHomepageCheckBox)) and (IminentInstallCheckBox.Checked or IminentSearchCheckBox.Checked or IminentHomepageCheckBox.Checked)) then begin
|
|
if (IminentInstallCheckBox.Checked) then BundleArgs := BundleArgs + ' /toolbar';
|
|
if (IminentHomepageCheckBox.Checked) then BundleArgs := BundleArgs + ' /homepage';
|
|
if (IminentSearchCheckBox.Checked) then BundleArgs := BundleArgs + ' /search';
|
|
BundleArgs := BundleArgs + ' /iminentSearch'
|
|
end;
|
|
|
|
if (Assigned(IminentNonSearchCheckBox) and IminentNonSearchCheckBox.Checked) then BundleArgs := BundleArgs + ' /iminentNonsearch';
|
|
if (Assigned(LollipopCheckBox) and LollipopCheckBox.Checked) then BundleArgs := BundleArgs + ' /lollipop';
|
|
|
|
if (Length(BundleArgs) > 0) then begin
|
|
BundleArgs := '/s'+BundleArgs;
|
|
filename := ExpandConstant('{tmp}\Project64_Bundle.exe');
|
|
ExtractTemporaryFile(ExtractFileName(filename));
|
|
Shellexec('',filename,BundleArgs,'',SW_HIDE,ewWaitUntilTerminated,ResultCode);
|
|
end;
|
|
end;
|
|
end;
|