2010-08-20 7 views
0

J'ai implémenté une DLL d'action personnalisée qui doit être exécutée lorsque le produit est désalloué ou réinstallé. La DLL d'actions personnalisées (C++) fait référence à une bibliothèque tierce qui est un objet COM qui doit également être enregistré.Dépendance de la bibliothèque tierce WiX CustomAction

J'ai deux questions: 1. Comment inclure une bibliothèque tierce dans le paquet d'installation? Je préférerais que le fichier ne soit pas visible par l'utilisateur. 2. Comment puis-je m'assurer que la bibliothèque tierce est toujours présente lorsque la DLL d'actions personnalisées s'exécute pendant la désinstallation? CustomAction est exécuté avant 'InstallFinalize'.

+0

Cela ressemble vraiment à une recette pour un désastre. Chaque jour, je réponds aux questions des personnes bloquées qui ne peuvent pas désinstaller leur produit et cela commence généralement par une exigence/un design comme celui-ci. –

Répondre

0

Vous ne devez pas installer de contrôles tiers sauf si le fournisseur de contrôle a un accord redist disant qu'il est autorisé. Si l'installation du contrôle nécessite autre chose que le placement du fichier dans votre propre emplacement d'installation de l'application (par exemple, si vous avez besoin de clés de registre), vous devez alors obtenir un MSM auprès du fournisseur de contrôle. Ensuite, vous devrez planifier votre action personnalisée pour exécuter WriteRegistryValues ​​à l'installation et avant RemoveRegistryValues ​​lors de la désinstallation. La solution que vous obtenez finira par être assez fragile, alors soyez prudent et bonne chance (et vous pourriez essayer de supprimer l'exigence du produit à l'avenir).

Questions connexes