en utilisant des fichiers d’élément copyfile ne peux pas se lier au paquetage msi
-
05-07-2019 - |
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
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.