InstallExecuteSequence in Fragment not included in installer
I have a strange issue that a开发者_运维知识库lthough not critical I'm wondering why it's happening.
After finishing my fairly complex installer I decided to refactor the code and abstract the different tasks into separate fragments. I have C# CustomAction that is being called after the WriteRegistryValues action.
<InstallExecuteSequence>
<Custom Action="CA_SSLCertGenerateInstall" After="WriteRegistryValues">
<![CDATA[NOT REMOVE]]>
</Custom>
</InstallExecuteSequence>
However when I move the above snippet from the Product.wxs into the Fragment, the dll is not included into the installer and obviously the CustomAction is not called.
When looking at the schema docs (http://wix.sourceforge.net/manual-wix3/wix_xsd_fragment.htm) InstallExecuteSequence is clearly a valid child of Fragment.
The contents of the fragment won't be included unless you reference ANY of the elements inside it from Product/Module element. So, in your case you should add the following line to your Product.wxs:
<CustomActionRef Id="CA_SSLCertGenerateInstall" />
NOTE: the entire contents of that fragment will be included, not just the custom action you reference.
精彩评论