AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Werkzeuge Innosetup zwei Installationspfade und nach Abschluss externes Programm mit Adminrecht
Thema durchsuchen
Ansicht
Themen-Optionen

Innosetup zwei Installationspfade und nach Abschluss externes Programm mit Adminrecht

Ein Thema von Hobbycoder · begonnen am 11. Sep 2024 · letzter Beitrag vom 18. Sep 2024
Antwort Antwort
Hobbycoder

Registriert seit: 22. Feb 2017
961 Beiträge
 
#1

Innosetup zwei Installationspfade und nach Abschluss externes Programm mit Adminrecht

  Alt 11. Sep 2024, 16:12
Hi,

ich taste mit an InnoSetup heran, was soweit sehr gut funktioniert. Ich bin erstaunt wie gut mir doch das Zusammenstellen des Setups über das Script gefällt.
Doch nun bin ich auf 2 Probleme gestoßen, wo ihr mir vielleicht helfen könnt:

1. In meinem Setup wird mein Programm, eine Datenserver und die Daten selbst installiert. Das Programm soll später über Netzwerk ereichbar sein. Jetzt kann und muss der Administrator bei der Installation für alle diese Teile separate Installationpfade auswählen können. Bisher habe ich nur einen. Wie kann weitere Pfade abfragen lassen? Bzw. auch über unterschiedliche Seiten im Setup mit entsprechenden Erklärungstexten?
[Edit]Dazu muss ich noch ergänzen, dass ich die gewählten Pfade für das unter Punkt 2 aufgeführte Programm benötige, damit die dann folgenden Enstellungen korrekt ausgeführt werden können [/Edit]

2. Am Ende der Installation soll ein weiteres Programm (mit Administratormanifest) gestartet werden, welches die Einrichtung der Startparameter vornimmt und den Service für die Datenbank installiert. Für die Serviceinstallation benötigt man jedoch Adminrechte auf dem Zielcomputer. Nun hab ich schon über den Parameter "PrivilegesRequired=admin" in InnoSetup gesetzt, der zwar das Setup mit Adminrechten startet, aber am Ende kommt dann immer die Meldung, dass das zu startende Programm höhere Rechte benötigt. Wie kann man das lösen? Das Setup läuft doch schon mit Adminrechten.
Wenn ich das Konfigurationsprogramm, was aus dem Setup heraus nicht läuft, mit Hand starte läuft es nach dem Windows-Dialog einwandfrei.
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.

Geändert von Hobbycoder (11. Sep 2024 um 16:25 Uhr)
  Mit Zitat antworten Zitat
hotrs02

Registriert seit: 7. Apr 2022
40 Beiträge
 
#2

AW: Innosetup zwei Installationspfade und nach Abschluss externes Programm mit Adminr

  Alt 13. Sep 2024, 10:05
Um weitere Pfade abzufragen schau dir mal die Funktion CreateInputDirPage an. Diese kannst du dann im Ereignis InitializeWizard verwenden, um weitere Verzeichnisse abzufragen. Unsere Installationsroutinen nutzen diese Möglichkeiten, um neben dem Programmverzeichnis noch Ordner für Einstellungen und Daten abzufragen.

Bzgl. der Ausführung des Programms am Ende der Installation schau dir mal die Beschreibung des Abschnitts [Run] in der Hilfe genauer an. Eigentlich sollte das von dir gewünschte Verhalten der Standard sein, wenn du nicht das Flag postinstall verwendest. In diesem Fall sollte es helfen, das Flag runascurrentuser zu ergänzen.
  Mit Zitat antworten Zitat
Rollo62

Registriert seit: 15. Mär 2007
4.116 Beiträge
 
Delphi 12 Athens
 
#3

AW: Innosetup zwei Installationspfade und nach Abschluss externes Programm mit Adminr

  Alt 13. Sep 2024, 15:27
Ungetestet

Delphi-Quellcode:
[Code]
var
  DataDirPage: TInputDirWizardPage;
  ServerDirPage: TInputDirWizardPage;
  ProgramDirPage: TInputDirWizardPage;

procedure InitializeWizard;
begin
  // Seite für das Programmverzeichnis
  ProgramDirPage := CreateInputDirPage(wpSelectDir,
    'Programmverzeichnis auswählen',
    'Bitte wählen Sie das Verzeichnis für das Programm aus:',
    '', False, '');
  ProgramDirPage.Add('');
  ProgramDirPage.Values[0] := ExpandConstant('{pf}\MeinProgramm');

  // Seite für das Datenverzeichnis
  DataDirPage := CreateInputDirPage(ProgramDirPage.ID + 1,
    'Datenverzeichnis auswählen',
    'Bitte wählen Sie das Verzeichnis für die Daten aus:',
    '', False, '');
  DataDirPage.Add('');
  DataDirPage.Values[0] := ExpandConstant('{commonappdata}\MeinProgramm\Data');

  // Seite für das Serververzeichnis
  ServerDirPage := CreateInputDirPage(DataDirPage.ID + 1,
    'Serververzeichnis auswählen',
    'Bitte wählen Sie das Verzeichnis für den Datenserver aus:',
    '', False, '');
  ServerDirPage.Add('');
  ServerDirPage.Values[0] := ExpandConstant('{pf}\MeinProgramm\Server');
end;

procedure CurStepChanged(CurStep: TSetupStep);
begin
  if CurStep = ssInstall then
  begin
    // Hier kannst du die ausgewählten Pfade verwenden
    ExpandConstant('{app}'); // Falls benötigt
  end;
end;
  Mit Zitat antworten Zitat
pertzschc

Registriert seit: 29. Jul 2005
Ort: Leipzig
309 Beiträge
 
Delphi 12 Athens
 
#4

AW: Innosetup zwei Installationspfade und nach Abschluss externes Programm mit Adminr

  Alt 18. Sep 2024, 12:12
Ich würde für beide Komponenten jeweils einen eigenen Installer erstellen und das zweite dann als Folgeschritt vom ersten her starten (mit Adminrechten).

Grüße, Christoph
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:12 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz