3

J'ai un certain nombre d'éditions du projet pour lequel je fais un projet d'installation Visual Studio (installateur).Conditionnellement inclure le fichier en fonction de la configuration du projet

Pour chaque édition, un contrat de licence distinct doit apparaître dans la fenêtre Contrat de licence par défaut. Ce que je veux faire est de pointer le LicenseFile de la fenêtre de contrat de licencevers un fichier quelque part sur le client FS. Toutefois, le fichier de licence lui-même doit être inclus dans le package d'installation, en fonction du symbole de compilation conditionnelle (EDITION_FREE, EDITION_GOLD, etc.) ou du nom de la configuration.

Vous ne savez pas comment je ferais cela et quelles sont les conditions disponibles pour la propriété Condition pour les fichiers?

Merci,
Dmitriy.

Répondre

1

Vous pouvez créer des versions distinctes du même fichier avec des extensions différentes. Permet de supposer que votre fichier de licence est License.txt, vous aurez donc besoin de créer plusieurs autres plus, un par chaque configuration et leur donner des noms suivants:

License.free.txt

License.gold.txt etc

Ensuite, vous devez créer configurations de construction avec le même nom que le suffixe de fichier (gratuit, or) et utiliser this-like script de build post. S'il vous plaît regardez this question aussi.

+0

Cela fonctionnera pour un projet non-Setup. J'ai ajouté un événement de pré-construction pour copier le fichier dans un répertoire spécifique et référencer le fichier depuis la fenêtre * License Agreement *. Mais l'installation ne compilera pas car il n'y a pas de fichier au départ (et l'évènement de pré-construction n'a pas encore été exécuté). Donc, je vais devoir garder un faux fichier pour ce qui est un peu moche. –

+0

Pourquoi vous ne pouvez pas ajouter d'événement de pré-construction pour le projet d'installation? – Restuta

+0

Parce que les fichiers doivent être validés avant l'exécution de l'événement de pré-construction. Quoi qu'il en soit, j'ai ajouté un événement post-build pour l'autre projet qui copie le fichier concerné dans son répertoire. Puis référence ce fichier à partir du projet d'installation. Cela garantit que le fichier est toujours valide avant même que le projet d'installation ne soit validé. Je vais accepter votre réponse, car elle m'a fourni quelques idées. –

Questions connexes