¿Cómo eliminar la configuración del campo de entrada del asistente personalizad
so sé que puede agregar un campo personalizado con el método .add ... ¿hay alguna forma de ELIMINAR uno?
La razón es que solo agrego los campos si se selecciona un componente, y si el usuario regresa, quiero eliminar los campos, para que no se multipliquen. :)
¡Gracias
Aquí está mi .iss: (estaba planeando poner el código en la función OnBackButtonClick ... por eso está ahí;)
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
#define MyAppName "DXX-Rebirth"
#define MyAppName1 "D1X-Rebirth"
#define MyAppName2 "D2X-Rebirth"
#define MyAppVersion "0.57.0"
#define MyAppURL "http://www.dxx-rebirth.com/"
#define MyAppExeName "d1x-rebirth.exe"
#define MyAppExeName2 "d2x-rebirth.exe"
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{DF665ED8-D2A7-490A-805F-6677EFFBAB40}
AppName={#MyAppName}
AppVersion={#MyAppVersion}
;AppVerName={#MyAppName} {#MyAppVersion}
AppPublisherURL={#MyAppURL}
AppSupportURL={#MyAppURL}
AppUpdatesURL={#MyAppURL}
DefaultDirName={pf}\{#MyAppName}
DefaultGroupName={#MyAppName}
OutputBaseFilename=Setup
Compression=lzma
SolidCompression=yes
[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "german"; MessagesFile: "compiler:Languages\German.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}";
Name: "quicklaunchicon"; Description: "{cm:CreateQuickLaunchIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Types]
Name: "install"; Description: "DXX-Rebirth"; Flags: iscustom
[Components]
Name: "d1x"; Description: "D1X"; Types: install
Name: "d2x"; Description: "D2X"; Types: install
[Files]
;D1X Files
Source: "C:\Documents and Settings\Owner\Desktop\Downloads\d1x-rebirth_v0.57-win\d1x-rebirth_v0.57-win\d1x-rebirth.exe"; DestDir: "{app}\D1X-Rebirth"; Components: d1x; Flags: ignoreversion
Source: "C:\Documents and Settings\Owner\Desktop\Downloads\d1x-rebirth_v0.57-win\d1x-rebirth_v0.57-win\*"; DestDir: "{app}\D1X-Rebirth"; Excludes: "C:\Documents and Settings\Owner\Desktop\Downloads\d1x-rebirth_v0.57-win\d1x-rebirth_v0.57-win\Missions,C:\Documents and Settings\Owner\Desktop\Downloads\d1x-rebirth_v0.57-win\d1x-rebirth_v0.57-win\Players,C:\Documents and Settings\Owner\Desktop\Downloads\d1x-rebirth_v0.57-win\d1x-rebirth_v0.57-win\Demos,C:\Documents and Settings\Owner\Desktop\Downloads\d1x-rebirth_v0.57-win\d1x-rebirth_v0.57-win\Screenchots"; Components: d1x; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Documents and Settings\Owner\Desktop\Downloads\d1x-rebirth_v0.57-win\d1x-rebirth_v0.57-win\Missions"; DestDir: "{app}\D1X-Rebirth"; Components: d1x; Flags: ignoreversion recursesubdirs createallsubdirs onlyifdoesntexist
Source: "C:\Documents and Settings\Owner\Desktop\Downloads\d1x-rebirth_v0.57-win\d1x-rebirth_v0.57-win\Players"; DestDir: "{app}\D1X-Rebirth"; Components: d1x; Flags: ignoreversion recursesubdirs createallsubdirs onlyifdoesntexist
Source: "C:\Documents and Settings\Owner\Desktop\Downloads\d1x-rebirth_v0.57-win\d1x-rebirth_v0.57-win\Demos"; DestDir: "{app}\D1X-Rebirth"; Components: d1x; Flags: ignoreversion recursesubdirs createallsubdirs onlyifdoesntexist
Source: "C:\Documents and Settings\Owner\Desktop\Downloads\d1x-rebirth_v0.57-win\d1x-rebirth_v0.57-win\Screenshots"; DestDir: "{app}\D1X-Rebirth"; Components: d1x; Flags: ignoreversion recursesubdirs createallsubdirs onlyifdoesntexist
;D1 Main Files
Source: "{code:Descent}\descent.hog"; DestDir: "{app}\D1X-Rebirth"; Components: "d1x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:Descent}\descent.pig"; DestDir: "{app}\D1X-Rebirth"; Components: "d1x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
;D1 Missions
Source: "{code:Descent}\*.hog"; DestDir: "{app}\D1X-Rebirth\Missions"; Components: "d1x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:Descent}\*.msn"; DestDir: "{app}\D1X-Rebirth\Missions"; Components: "d1x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:Descent}\*.rdl"; DestDir: "{app}\D1X-Rebirth\Missions"; Components: "d1x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:Descent}\Missions\*"; DestDir: "{app}\D1X-Rebirth\Missions"; Components: "d1x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:Descent}\descent.hog"; DestDir: "{app}\D1X-Rebirth\Missions"; Components: "d1x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist deleteafterinstall
;D1 Players
Source: "{code:Descent}\*.eff:"; DestDir: "{app}\D1X-Rebirth\Players"; Components: "d1x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:Descent}\*.plr:"; DestDir: "{app}\D1X-Rebirth\Players"; Components: "d1x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:Descent}\*.plx:"; DestDir: "{app}\D1X-Rebirth\Players"; Components: "d1x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:Descent}\*.ngp:"; DestDir: "{app}\D1X-Rebirth\Players"; Components: "d1x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:Descent}\*.sg*:"; DestDir: "{app}\D1X-Rebirth\Players"; Components: "d1x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:Descent}\*.mg*:"; DestDir: "{app}\D1X-Rebirth\Players"; Components: "d1x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:Descent}\Players\*.eff:"; DestDir: "{app}\D1X-Rebirth\Players"; Components: "d1x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:Descent}\Players\*.plr:"; DestDir: "{app}\D1X-Rebirth\Players"; Components: "d1x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:Descent}\Players\*.plx:"; DestDir: "{app}\D1X-Rebirth\Players"; Components: "d1x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:Descent}\Players\*.ngp:"; DestDir: "{app}\D1X-Rebirth\Players"; Components: "d1x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:Descent}\Players\*.sg*:"; DestDir: "{app}\D1X-Rebirth\Players"; Components: "d1x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:Descent}\Players\*.mg*:"; DestDir: "{app}\D1X-Rebirth\Players"; Components: "d1x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
;D2X Files
Source: "C:\Documents and Settings\Owner\Desktop\Downloads\d2x-rebirth_v0.57-win\d2x-rebirth_v0.57-win\d2x-rebirth.exe"; DestDir: "{app}\D2X-Rebirth"; Components: d2x; Flags: ignoreversion
Source: "C:\Documents and Settings\Owner\Desktop\Downloads\d2x-rebirth_v0.57-win\d2x-rebirth_v0.57-win\*"; DestDir: "{app}\D2X-Rebirth"; Excludes: "C:\Documents and Settings\Owner\Desktop\Downloads\d2x-rebirth_v0.57-win\d2x-rebirth_v0.57-win\Missions,C:\Documents and Settings\Owner\Desktop\Downloads\d2x-rebirth_v0.57-win\d2x-rebirth_v0.57-win\Players,C:\Documents and Settings\Owner\Desktop\Downloads\d2x-rebirth_v0.57-win\d2x-rebirth_v0.57-win\Demos,C:\Documents and Settings\Owner\Desktop\Downloads\d2x-rebirth_v0.57-win\d2x-rebirth_v0.57-win\Screenshots"; Components: d2x; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Documents and Settings\Owner\Desktop\Downloads\d2x-rebirth_v0.57-win\d2x-rebirth_v0.57-win\Missions"; DestDir: "{app}\D2X-Rebirth"; Components: d2x; Flags: ignoreversion recursesubdirs createallsubdirs onlyifdoesntexist
Source: "C:\Documents and Settings\Owner\Desktop\Downloads\d2x-rebirth_v0.57-win\d2x-rebirth_v0.57-win\Players"; DestDir: "{app}\D2X-Rebirth"; Components: d2x; Flags: ignoreversion recursesubdirs createallsubdirs onlyifdoesntexist
Source: "C:\Documents and Settings\Owner\Desktop\Downloads\d2x-rebirth_v0.57-win\d2x-rebirth_v0.57-win\Demos"; DestDir: "{app}\D2X-Rebirth"; Components: d2x; Flags: ignoreversion recursesubdirs createallsubdirs onlyifdoesntexist
Source: "C:\Documents and Settings\Owner\Desktop\Downloads\d2x-rebirth_v0.57-win\d2x-rebirth_v0.57-win\Screenshots"; DestDir: "{app}\D2X-Rebirth"; Components: d2x; Flags: ignoreversion recursesubdirs createallsubdirs onlyifdoesntexist
;D2 Main Files
Source: "{code:DescentTwo}\descent2.ham"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\descent2.hog"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\descent2.s11"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\descent2.s22"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\alien1.pig"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\alien2.pig"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\fire.pig"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\groupa.pig"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\ice.pig"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\water.pig"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\intro-h.mvl"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\intro-l.mvl"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\other-h.mvl"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\other-l.mvl"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\robots-h.mvl"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\robots-l.mvl"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
;Vertigo
Source: "{code:DescentTwo}\d2x-h.mvl"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\d2x-l.mvl"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\hoard.ham"; DestDir: "{app}\D2X-Rebirth"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\d2x.hog"; DestDir: "{app}\D2X-Rebirth\Missions"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\d2x.mn2"; DestDir: "{app}\D2X-Rebirth\Missions"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\Missions\d2x.hog"; DestDir: "{app}\D2X-Rebirth\Missions"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\Missions\d2x.mn2"; DestDir: "{app}\D2X-Rebirth\Missions"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist
;D2 Missions
Source: "{code:DescentTwo}\*.hog"; DestDir: "{app}\D2X-Rebirth\Missions"; Components: "d2x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\*.mn2"; DestDir: "{app}\D2X-Rebirth\Missions"; Components: "d2x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\Missions\*"; DestDir: "{app}\D2X-Rebirth\Missions"; Components: "d2x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\descent2.hog"; DestDir: "{app}\D2X-Rebirth\Missions"; Components: "d2x"; Check: not DontInstall; Flags: external skipifsourcedoesntexist deleteafterinstall
;D2 Players
Source: "{code:DescentTwo}\*.eff:"; DestDir: "{app}\D2X-Rebirth\Players"; Components: "d2x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\*.plr:"; DestDir: "{app}\D2X-Rebirth\Players"; Components: "d2x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\*.plx:"; DestDir: "{app}\D2X-Rebirth\Players"; Components: "d2x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\*.ngp:"; DestDir: "{app}\D2X-Rebirth\Players"; Components: "d2x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\*.sg*:"; DestDir: "{app}\D2X-Rebirth\Players"; Components: "d2x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\*.mg*:"; DestDir: "{app}\D2X-Rebirth\Players"; Components: "d2x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\Players\*.eff:"; DestDir: "{app}\D2X-Rebirth\Players"; Components: "d2x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\Players\*.plr:"; DestDir: "{app}\D2X-Rebirth\Players"; Components: "d2x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\Players\*.plx:"; DestDir: "{app}\D2X-Rebirth\Players"; Components: "d2x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\Players\*.ngp:"; DestDir: "{app}\D2X-Rebirth\Players"; Components: "d2x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\Players\*.sg*:"; DestDir: "{app}\D2X-Rebirth\Players"; Components: "d2x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
Source: "{code:DescentTwo}\Players\*.mg*:"; DestDir: "{app}\D2X-Rebirth\Players"; Components: "d2x"; Check: InstallAll; Flags: external skipifsourcedoesntexist
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\{#MyAppName1}"; Filename: "{app}\D1X-Rebirth\{#MyAppExeName}"
Name: "{group}\{#MyAppName2}"; Filename: "{app}\D2X-Rebirth\{#MyAppExeName2}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{userdesktop}\{#MyAppName1}"; Filename: "{app}\D1X-Rebirth\{#MyAppExeName}"; Tasks: desktopicon
Name: "{userdesktop}\{#MyAppName2}"; Filename: "{app}\D2X-Rebirth\{#MyAppExeName2}"; Tasks: desktopicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName1}"; Filename: "{app}\D1X-Rebirth\{#MyAppExeName}"; Tasks: quicklaunchicon
Name: "{userappdata}\Microsoft\Internet Explorer\Quick Launch\{#MyAppName2}"; Filename: "{app}\D2X-Rebirth\{#MyAppExeName2}"; Tasks: quicklaunchicon
[Run]
Filename: "{app}\D1X-Rebirth\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName1, "&", "&&")}}"; Flags: nowait postinstall skipifsilent unchecked
Filename: "{app}\D2X-Rebirth\{#MyAppExeName2}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName2, "&", "&&")}}"; Flags: nowait postinstall skipifsilent unchecked
[UninstallDelete]
Type: filesandordirs; Name: "{app}"
[Code]
// global vars
var
SampleDataPage: TInputOptionWizardPage;
DataDirPage: TInputDirWizardPage;
// custom wizard page setup, for data dir.
procedure InitializeWizard;
begin
{ Taken from CodeDlg.iss example script }
{ Create custom pages to show during install }
SampleDataPage := CreateInputOptionPage(wpSelectComponents,
'Install Descent Data', '',
'Would you like to copy the Descent game files to your DXX-Rebirth installation?',
True, False);
SampleDataPage.Add('Yes copy the game files, missions, players, and savegames.');
SampleDataPage.Add('Yes, but just copy the game files.');
SampleDataPage.Add('No, I'+chr(39)+'ll copy the game files myself later.');
SampleDataPage.Values[0] := True;
DataDirPage := CreateInputDirPage(SampleDataPage.ID,
'Descent Data Directory', '',
'Please select the location where the original Descent files are installed.',
False, '');
end;
function NextButtonClick(CurPageID: Integer): Boolean;
begin
if CurPageID = SampleDataPage.ID then
begin
if (IsComponentSelected('d1x') = true) and (IsComponentSelected('d2x') = true) then
begin
DataDirPage.Add('Descent location.');
DataDirPage.Add('Decent 2 location.');
DataDirPage.Values[0] := ExpandConstant('{pf}\GOG.com\Descent and Descent 2\Descent');
DataDirPage.Values[1] := ExpandConstant('{pf}\GOG.com\Descent and Descent 2\Descent 2');
result := true;
exit;
end;
if (IsComponentSelected('d1x') = true) and (IsComponentSelected('d2x') = false) then
begin
DataDirPage.Add('Descent location.');
DataDirPage.Values[0] := ExpandConstant('{pf}\GOG.com\Descent and Descent 2\Descent');
result := true;
exit;
end;
if (IsComponentSelected('d1x') = false) and (IsComponentSelected('d2x') = true) then
begin
DataDirPage.Add('Decent 2 location.');
DataDirPage.Values[0] := ExpandConstant('{pf}\GOG.com\Descent and Descent 2\Descent 2');
result := true;
exit;
end;
result := true;
end
else
begin
result := true;
end;
end;
function BackButtonClick(CurPageID: Integer): Boolean;
begin
if CurPageID = SampleDataPage.ID then
begin
result := true;
end
else
result := true;
end;
end;
function ShouldSkipPage(PageID: Integer): Boolean;
begin
if (PageID = DataDirPage.ID) and (SampleDataPage.Values[2] = true) then
Result := True
else
Result := False;
end;
function InstallAll(): Boolean;
begin
{ Return the value of the 'install' radiobutton }
//MsgBox('InstallSampleData.', mbError, MB_OK);
Result := SampleDataPage.Values[0];
end;
function Install(): Boolean;
begin
{ Return the value of the 'install' radiobutton }
//MsgBox('InstallSampleData.', mbError, MB_OK);
Result := SampleDataPage.Values[1];
end;
function DontInstall(): Boolean;
begin
Result := SampleDataPage.Values[2];
end;
function DescentTwo(Param: String): String;
begin
if Assigned(DataDirPage) then
begin
if (IsComponentSelected('d1x') = true) and (IsComponentSelected('d2x') = true) then
begin
result := DataDirPage.Values[1];
end;
if (IsComponentSelected('d1x') = false) and (IsComponentSelected('d2x') = true) then
begin
result := DataDirPage.Values[0];
end;
if (IsComponentSelected('d1x') = true) and (IsComponentSelected('d2x') = false) then
begin
result := '';
end;
end
else
result := '';
end;
function Descent(Param: String): String;
begin
if Assigned(DataDirPage) then
begin
if (IsComponentSelected('d1x') = false) and (IsComponentSelected('d2x') = true) then
begin
result := '';
end
else
begin
result := DataDirPage.Values[0];
end;
end
else
result := '';
end;
end.