Programme d'installation d'Inno Setup qui n'exécute qu'un ensemble d'installateurs intégrés
Je crée un programme d'installation dans Inno Setup qui n'exécutera qu'un ensemble d'installateurs intégrés. Il n'installe aucun fichier seul.
Lors de la compilation du programme d'installation, je reçois cette erreur:
Vous devez entrer un chemin complet avec une lettre de lecteur; par exemple: C: \ APP ou un chemin UNC tel que \ serveur \ partage
Voici mon code, mais j'ai échangé les informations sur la société contre les informations sur les tests. J'ai notre chemin UNC complet, donc je ne sais pas pourquoi j'obtiens cette erreur? Au cours de ce processus, comment les informations d'identification de l'emplacement sont-elles entrées?
[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;
Réponses
L'erreur n'a rien à voir avec un emplacement réseau. Il fait référence à C:\
dans DefaultDirName
.
Pour une discussion générale sur ce message d'erreur, voir:
Erreur de configuration Inno lors de l'installation à la racine du lecteur USB: "Vous devez entrer un chemin complet avec une lettre de lecteur"
Bien que vous n'installez pas à la racine du lecteur USB. Vous essayez d'installer sur le C:
lecteur root. C'est tout simplement faux. Vous ne devriez jamais essayer d'installer quoi que ce soit à la C:
racine.
Je comprends que votre programme d'installation n'installe pas de vrais fichiers par lui-même. Ensuite, vous devez définir à la fois CreateAppDiret Uninstallablesur no
:
[Setup]
CreateAppDir=no
Uninstallable=no
Et vous devez extraire vos sous-installateurs vers {tmp}, pas vers {app}
.
Voir également Utiliser l'interface utilisateur d'Inno Setup uniquement comme un extracteur automatique - Aucune installation .