2017-10-08 9 views
0

J'ai un projet InstallShield qui déploie 2 fichiers:erreur InstallShield 1310 lors de l'utilisation "grand" fichier externe rar

  1. Un grand fichier rar (3.5GB)
  2. Un 3ème fichier d'installation du parti.

Je mets les deux fichiers dans "Fichiers et dossiers" (sous les données de l'application).

Lorsque je compile le projet, il crée setup.exe et place simplement les 2 fichiers dans le même dossier que les fichiers setup et .msi (et c'est OK).

Cependant, quand je lance le programme d'installation, il renvoie une erreur: « Erreur 1310, l'écriture d'erreur de fichier data.rar, vérifiez que vous avez accès à ce répertoire »

Si je regarde le dossier que le programme d'installation créé - il a les deux fichiers mais le rar est en taille 0KB (devrait être 3.5GB). Le deuxième fichier est dans sa taille normale.

Cela se produit même si je démarre le programme d'installation en tant qu'administrateur.

Comment puis-je le résoudre?

Merci, Noam

+0

https://flexeracommunity.force.com/customer/articles/en_US/ERRDOC/Q108079 –

Répondre

3

Ceci est une limitation Microsoft avec Windows 7 et la technologie MSI. Si vous incluez un fichier de plus de 2 Go, vous obtiendrez cette erreur lors de l'installation. S'il vous plaît essayer la solution de contournement possible suivante pour copier votre fichier 2+ Go à la machine cible:

  1. dans les fichiers Support> Avancé afficher les fichiers, Ajoutez votre fichier dans le dossier Disk1
  2. Créer une action personnalisée qui Copiez ce fichier dans l'emplacement cible. Le dossier Disk1 peut être référencé comme SourceDir. Notez que la version devra être construite non compressée pour SourceDir pour résoudre le dossier Disk1. Construire une installation non compressée est aussi une exigence si vous incluez un fichier qui est plus grand que 2GB puisque l'utilitaire d'extraction de cabine de Microsoft a cette taille
  3. Supprimer le fichier de votre composant Fondamentalement, plutôt que d'installer le fichier dans le cadre d'un composant, vous créez une action personnalisée qui copiera le fichier de l'emplacement source (disque) dans le dossier cible. Si vous utilisez une action personnalisée InstallScript, la fonction XCopyFile peut être utilisée. Pour obtenir la valeur de SourceDir et INSTALLDIR et les utiliser dans l'action personnalisée InstallScript, vous devez utiliser la fonction MsiGetProperty.
+0

Salut Yaron, merci pour les idées mais je fini par résoudre différemment: J'ai compressé le grand fichier rar dans 5 zip fichiers (divisés), chacun 700MB. J'ai ensuite créé un script powershell qui utilise DotNetZip pour extraire tous ces zips dans le fichier rar d'origine. J'ai ajouté ce script en tant qu'action personnalisée au projet et tout a fonctionné comme il se doit. – Noam