Programma di installazione di Inno Setup che esegue solo una serie di programmi di installazione incorporati
Sto creando un programma di installazione in Inno Setup che eseguirà solo una serie di programmi di installazione incorporati. Non installa alcun file da solo.
Durante la compilazione del programma di installazione, ricevo questo errore:
È necessario immettere un percorso completo con la lettera di unità; ad esempio: C: \ APP o un percorso UNC come \ server \ share
Di seguito è riportato il mio codice ma ho scambiato le informazioni sulla società con le informazioni sui test. Ho il nostro percorso UNC completo, quindi non sono sicuro del motivo per cui ricevo questo errore? Durante questo processo, come vengono immesse le credenziali per la posizione?
[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;
Risposte
L'errore non ha nulla a che fare con alcun percorso di rete. Si riferisce a C:\
in DefaultDirName
.
Per una discussione generale su questo messaggio di errore, vedere:
Errore di Inno Setup durante l'installazione nella directory principale dell'unità USB: "È necessario immettere un percorso completo con la lettera dell'unità"
Anche se non si installa nella directory principale dell'unità USB. Stai tentando di eseguire l'installazione su C:
drive root. È semplicemente sbagliato. Non dovresti mai provare a installare nulla nella C:
root.
Capisco che il tuo programma di installazione in realtà non installa alcun file reale da solo. Quindi, dovresti impostare sia CreateAppDire Uninstallablesu no
:
[Setup]
CreateAppDir=no
Uninstallable=no
E dovresti estrarre i tuoi subinstallatori in {tmp}, non in {app}
.
Vedi anche Usa l'interfaccia utente di Inno Setup solo come autoestraente - Nessuna installazione .