Question

J'utilise wix 3.0.j'ai un nom de dossier "images" .soi je veux copier tous les fichiers des images dans msi package.Lorsque je copie tout le fichier et installe msi sur un autre ordinateur, il ne se lie pas les images. Et lorsque j'utilise un élément de fichier simple, les fichiers se lient au paquetage msi. alors que dois-je faire,

Répondez-moi bientôt

En vous remerciant Samir

Était-ce utile?

La solution

Vous souhaitez apparemment créer une application capable de générer un programme d’installation d’économiseur d’écran contenant un certain nombre de fichiers image sélectionnés par l’utilisateur & # 8212; sorte d’application InstallShield spécialisée dans la création d’installateurs d’économiseurs d’écran.

Je voudrais d’abord créer un fichier modèle MSI (avec wix     ou quelque chose d'autre) qui fait la plupart de     l'oeuvre. Vous ne savez pas quels fichiers l'utilisateur va sélectionner ultérieurement, ajoutez donc un composant d'espace réservé avec l'ID "UserSelectedFiles". Distribuer cette     modèle de fichier MSI avec votre application.

Ensuite, lorsque l'utilisateur souhaite générer un     nouvel installateur, commencez par copier le     modèle. Editez le fichier msi copié pour qu'il installe également les fichiers sélectionnés par l'utilisateur. Vous pouvez le faire avec les classes .NET     vous pouvez trouver dans le " déploiement     outils de base " API. Ceci est un ensemble d'ensembles qui viennent avec wix; jeter un coup d'œil à      C: \ fichiers programme \ Windows Installer     XML v3 \ sdk .

Je n'ai utilisé l'API DTF que pour des tâches simples, comme cet exemple qui compte les entrées de la table File dans le fichier MSI:

var database = new Database(@"\path\to\some\file.msi");
var list = database.ExecuteQuery("SELECT FileName FROM File");
Console.WriteLine(list.Count);

Votre cas sera un peu plus compliqué. Vous devrez probablement

  • générer une archive CAB qui contient les fichiers image avec les classes que vous trouver dans le Microsoft.Deployment.Compression.Cab espace de noms.
  • fusionner l'archive CAB dans le msi avec Database.Merge
  • Ajouter de nouvelles entrées à la table des fichiers du MSI
  • Remplacez le code produit par quelque chose d'unique pour chaque MSI généré
  • etcetera

Pour avoir une idée du contenu d'un fichier MSI et de la façon dont il peut être édité, je vous recommande de commencer par jouer un peu avec le orca et msidb outils.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top