Inno Setup-Installationsprogramm, das nur eine Reihe eingebetteter Installationsprogramme ausführt

Jan 08 2021

Ich erstelle in Inno Setup ein Installationsprogramm, auf dem nur eine Reihe eingebetteter Installationsprogramme ausgeführt werden. Es werden keine eigenen Dateien installiert.

Beim Kompilieren des Installationsprogramms wird folgende Fehlermeldung angezeigt:

Sie müssen einen vollständigen Pfad mit Laufwerksbuchstaben eingeben. Beispiel: C: \ APP oder ein UNC-Pfad wie \ server \ share

Unten ist mein Code, aber ich habe Firmeninformationen gegen Testinformationen ausgetauscht. Ich habe unseren vollständigen UNC-Pfad und bin mir nicht sicher, warum ich diesen Fehler erhalte. Wie werden während dieses Vorgangs die Anmeldeinformationen für den eingegebenen Speicherort eingegeben?

[Setup]
AppName=DRsetup
AppVerName=DRsetup
DefaultDirName=C:\
OutputDir=.
OutputBaseFilename=DRsetup
DisableDirPage=yes
DisableFinishedPage=yes
Uninstallable=no

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"

[TASKS]
Name: MapDrives; "Description: Map the network drives"; \
    GroupDescription: "Application Selection:"; 
Flags: unchecked exclusive;
Name: Test; Description: "Test"; GroupDescription: "Application                         
selection:"; Flags: unchecked exclusive;
Name: Test2; Description: "Test2"; GroupDescription: "Application selection:"; \
    Flags: unchecked exclusive;
Name: Test3; Description: "Test3"; GroupDescription: "Application         
selection:"; Flags: unchecked exclusive;
Name: Test4; Description: "Test4"; GroupDescription: "Application selection:"; 
Flags: unchecked exclusive;
Name: Test5; Description: "Test5"; GroupDescription: "Application selection:"; \
    Flags: unchecked exclusive;
Name: Test6; Description: "Test6"; GroupDescription: "Application selection:"; 
Flags: unchecked exclusive;
Name: Test7; Description: "Test7"; GroupDescription: "Application selection:"; \
    Flags: unchecked exclusive

[Files]
Filename: {sys}\net.exe; \
     Parameters: "use I: \\Test\PUB /user:administrator /PERSISTENT:YES"; \
     Tasks: MapDrives;
Filename: {sys}\net.exe; \
    Parameters: "use H: \\Test\SYS /user:administrator /PERSISTENT:YES"; \
    Tasks: MapDrives;
Source: "\\Test\PUB\Install\Test.exe"; DestDir: "{app}"; Flags: 
ignoreversion; Languages: english; Tasks: Test
Source: "\\Test\PUB\Install\Test2.exe"; DestDir: "{app}"; Flags: ignoreversion; 
Languages: english; Tasks: Test2;
Source: "\\Test\PUB\Install\Test3.msi"; DestDir: "{app}"; Flags:         
ignoreversion; Languages: english; Tasks: Test3;
Source: "\\Test\PUB\Install\Test4.msi"; DestDir: "{app}"; Flags: 
ignoreversion; Languages: english; Tasks: Test4;
Source: "\\Test\PUB\Install\Test5.msi"; DestDir: "        
{app}"; Flags: ignoreversion; Languages: english; Tasks: Test5;
Source: "\\Test\PUB\Install\Test6.exe"; DestDir: "{app}"; Flags: 
ignoreversion; Languages: english; Tasks: Test6;
Source: "\\Test\PUB\Install\Test7.exe"; DestDir: "{app}"; Flags: ignoreversion;         
Languages: english; Tasks: Test7;

[RUN]
Filename: {sys}\net.exe; \
     Parameters: "use I: \\Test\PUB /user:administrator /PERSISTENT:YES"; \    
     Tasks: MapDrive;
Filename: {sys}\net.exe; \
    Parameters: "use H: \\Test\SYS /user:administrator /PERSISTENT:YES"; \
    Tasks: MapDrive;
Filename: "{userdesktop}\Test.exe"; Flags: runascurrentuser; Tasks: Test;
Filename: "{userdesktop}\Test2.exe"; Flags: runascurrentuser; Tasks: Test2;
Filename: "{userdesktop}\Test3.msi"; Flags:  
runascurrentuser; Tasks: Test3;
Filename: "{userdesktop}\Test4.msi"; Flags: runascurrentuser; Tasks: Test4;
Filename: "{userdesktop}\Test5.msi"; Flags: runascurrentuser; Tasks: Test5;
Filename: "{userdesktop}\Test6.exe"; Flags: runascurrentuser; Tasks: Test6;
Filename: "{userdesktop}\Test7.exe"; Flags: runascurrentuser; Tasks: Test7;

Antworten

3 MartinPrikryl Jan 08 2021 at 23:03

Der Fehler hat nichts mit einem Netzwerkstandort zu tun. Es bezieht sich auf C:\in DefaultDirName.

Eine allgemeine Diskussion zu dieser Fehlermeldung finden Sie unter:
Inno Setup-Fehler bei der Installation auf dem USB-Laufwerk root: "Sie müssen einen vollständigen Pfad mit Laufwerksbuchstaben eingeben."

Sie installieren jedoch nicht auf dem USB-Laufwerk root. Sie versuchen zu installieren, C:um root zu fahren. Das ist einfach falsch. Sie sollten niemals versuchen, etwas im C:Stammverzeichnis zu installieren .

Ich verstehe, dass Ihr Installationsprogramm tatsächlich keine echten Dateien selbst installiert. Dann sollten Sie beide CreateAppDirund Uninstallableauf Folgendes einstellen no:

[Setup]
CreateAppDir=no
Uninstallable=no

Und Sie sollten Ihre Subinstaller zu extrahieren {tmp}, nicht zu {app}.

Siehe auch Verwenden der Inno Setup-Benutzeroberfläche nur als Selbstextraktor - Keine Installation .