Question

J'ai quelques solutions qui représentent un framework de code que j'ai construit au travail. Une solution appelée "Framework" et une autre appelée "Extensions".

La raison pour laquelle je les ai scindés, c'est que la solution "Extensions" contient des projets composés de méthodes d'extension et que les projets sont organisés de manière à ce que les assemblys résultants reflètent les assemblys .NET.

J'ai créé un projet de module de fusion pour "Extensions" et un programme d'installation qui l'utilise. Tout va bien, mais je souhaite maintenant créer un programme d'installation pour 'Framework' qui utilise également le même module de fusion. Par conséquent, j'aimerais modifier le programme d'installation 'Extensions' pour copier le fichier du module de fusion 'Extensions' dans C : \ Program Files \ Fichiers communs \ Fusion des modules afin que le programme d'installation 'Framework' ait un chemin bien connu permettant de référencer le module de fusion pour les "Extensions", plutôt que de faire référence au chemin obscur de ma solution VS (la raison étant que le Framework sera parfois construit sur différentes machines sur lesquelles des chemins vers des projets VS peuvent être créés. varie).

La documentation MSDN n'aborde ce problème que brièvement et indique simplement que les modules de fusion ne peuvent pas être installés sur le système de fichiers, mais uniquement "consommés".

Échec.

Est-ce que quelqu'un sait comment s'y prendre? Actions personnalisées? Comment le programme d'installation de Visual Studio installe-t-il ses modules de fusion?

Était-ce utile?

La solution 2

La réponse courte est: il n’ya aucun moyen de le faire, à moins d’écrire votre propre framework d’installation.

Autres conseils

Lorsque vous créez le programme d'installation de MergeModule dans l'éditeur de système de fichiers, un dossier intitulé "Dossier pouvant être réservé par module" " (Ceci est le nom par défaut et peut être modifié. Vous pouvez également en ajouter d’autres.)

Une fois le fichier .msm créé, si vous accédez au projet de configuration principal et y ajoutez le module de fusion, vous pouvez sélectionner le fichier .msm dans l'explorateur de solutions. Une fenêtre intitulée "MergeModuleProperties" doit apparaître dans la fenêtre des propriétés. ;, développez-le et vous devriez voir tous les dossiers reciblables énumérés, puis vous pouvez les diriger au bon endroit.

En retard à la fête, mais

Je l'ai fait une fois en renommant le module de fusion (modification de l'extension de fichier), en l'installant dans le système de fichiers en tant que fichier normal, puis en renommant le fichier installé.

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