Répondre

1

Je ne connais pas un moyen de le faire. Dans la plupart des cas, ce serait impossible. Les projets d'installation et de déploiement de Visual Studio définissent leurs actions personnalisées .net comme devant être exécutées "différées", ce qui signifie qu'elles s'exécutent une fois que les objets d'installation msi ont été éliminés. Here's the list des opérations possibles dans ce contexte.

Pour vérifier que vos actions personnalisées .net sont en cours d'exécution différées, utilisez Orca pour ouvrir le fichier msi et accéder à la table CustomAction. Si l'InstallUtil (la bibliothèque d'utilitaires VS qui est placée dans la table "Binaire" du MSI par VS et expose un point d'entrée "C" à MSI qui appelle dans les points d'entrée d'installation d'un installateur .NET) les actions ont "3073" comme leur « type », ce qui signifie qu'ils sont en cours d'exécution en exécution différée (3073 est msidbCustomActionTypeInScript + msidbCustomActionTypeNoImpersonate + msidbCustomActionTypeDll.)

Si vous créez une action personnalisée « C » dans une DLL et mettez-le dans votre MSI avec un type de "1" vous pouvez l'exécuter pendant la séquence d'installation et modifier les propriétés. Malheureusement, le projet d'installation de VS ne supporte pas cela; il court chaque action personnalisée différée autant que je peux dire.

+0

Le programme d'installation de Visual Studio est très limité. Vous pouvez envisager de passer à WIX (Windows Installer XML) + DTF (Deployment Tools Foundation.) WIX vous donne un contrôle total sur le MSI résultant d'une manière plus scriptable/utilisable que les API MSI brutes et le DTF prend en charge beaucoup plus flexible et actions personnalisées .NET personnalisées que ce que vous obtenez à partir de VS setup + projets de déploiement. –

Questions connexes