Hi, I was very relieved that there was a CheckAssemblyForCOMInterop functionality built into the MSITask, because I'm not very versed in COM interop issues. However, I think it's a bit too much to automatically do this and include the results in the MSI archive. And I need to be able to switch off the checks.
What I've done is to add an optional "checkinterop" attribute to the MSIFileOverride element, and only do the interop check if a fileoverride is specified and that attribute is set to true. This is a breaking change, but alternatively you could make it so that the check is omitted only if a fileoverride is specified and the checkinterop attribute set to false. Another thing is that after installing the resulting archive, the registry entries added are not enough to be able to create ActiveX objects from VBScript. As I said earlier, I'm not very well versed in the intricacies of COM Interop, but from my experiments I conclude that at least a Class string needs to be added to the HKEY_CLASSES_ROOT\CLSID\{guid}\InprocServer32 key. I've added code to add the entries to the MSI Registry table, but I would like some more info/comments on the whole COM Interop thing before I submit a patch for this. Regards, Kræn Munck
MSITask2.patch
Description: Binary data