La façon la plus simple (et Rob M coup de gueule et de s'extasier sur la façon dont cela est faux), c'est juste pour utiliser SelfRegCost=1
sur le tag de la DLL.
C'est faux, car nous devrions être explicitement le contrôle de l'enregistrement de la DLL, ne permettant pas simplement d'exécuter du code arbitraire via DllRegisterServer. La théorie étant que d'une DLL n'ont rien à faire au-delà de mettre les entrées appropriées dans le registre lors de la DllRegisterServer est appelé. Malheureusement, beaucoup d'entre eux de faire plus que cela, de sorte que l'auto-inscription sera peut-être la seule façon d'obtenir votre installer pour travailler.
Il est faux aussi, car cela signifie que l'installation de Windows système ne sais rien à propos de ces clés de registre, et ce qui devrait et ne devrait pas être là. Cela signifie que la réparation ne fonctionnera pas, et, éventuellement, de l'onu-l'installation ne nettoyer correctement, etc.
Sinon, vous pouvez générer approprié WiX code en pointant heat.exe
lors de votre fichier DLL, et l'intégration de sa sortie dans votre WiX projet. Vous obtiendrez une variété de Classe, ProgID, bibliothèque de types, de Registre et de balises. Vous devrez peut-être modifier manuellement la sortie pour la compiler.
J'espère que ça aide.