Hi Jim,

That would be great. My needs would be covered simply by adding it to
the fileoverride element, so I'm a happy camper. :)  Adding it to the
component element too just adds to the power of it (in a controlled
fashion), so no complaints here.

Btw: ran into an associated issue with typelibs. Registered typelibs are
recognized by comparing filename and path of the typelib in question to
the ones in the registry. Problem is that it uses case sensitive
comparison. I had it missing my typelib because of this. A simple fix
should do the trick:

Somewhere around line 4300 in MSITask.cs, change

if (curTypeLibFileName == typeLibFileName)

to

if (String.Compare(curTypeLibFileName, typeLibFileName, true) == 0)

I could of course see to it that I gave the regasm task the accurate
path ("Bin" instead of "bin" in my case), but...

Thanks,
Kræn

-----Original Message-----
From: Jim [mailto:[EMAIL PROTECTED] 
Sent: 17. september 2003 15:27
To: 'Kræn Munck'; [EMAIL PROTECTED]
Subject: RE: [NAntC-Dev] MSITask CheckAssemblyForCOMInterop


I've been thinking about it for a while.  I agree that the better
solution is to have checkinterop equal false by default.  I would like
to add that attribute to the MSIFileOverride element and the component
element.  The MSIFileOverride will take precedence over the component.
How does that sound?

Jim

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Kræn Munck
Sent: Monday, September 15, 2003 4:31 PM
To: 'Jim'; [EMAIL PROTECTED]
Subject: RE: [NAntC-Dev] MSITask CheckAssemblyForCOMInterop


I agree that we should strive to make it non-breaking, but at the same
time I prefer total control by default to limit unpleasant surprises.

Continuing your thought, could we add instead an optional checkinterop
attribute (defaulting to true) to a higher element - perhaps even the
msi element itself - working as you describe, so that I can set
checkinterop="false" for the whole archive and then specify each file
that I want to check for COM interop?

Kræn

-----Original Message-----
From: Jim [mailto:[EMAIL PROTECTED] 
Sent: 15. september 2003 21:53
To: 'Kræn Munck'; [EMAIL PROTECTED]
Subject: RE: [NAntC-Dev] MSITask CheckAssemblyForCOMInterop


Personally, I would rather see the optional checkinterop attribute be
equal to true by default.  Then, if the developer wants their interop to
not be checked, they would specifically state so.  That way, it wouldn't
break any existing install scripts.  

Another alternative would be to add an attribute to the component
element.  That attribute would also be named checkinterop, but would
apply to all files in the FileSet.  Then if there were a checkinterop
attribute specified in a MSIFileOverride, that would take precedence.  I
don't personally lean towards this option, but it is another way to
tackle this situation.

Let me know what you think

Jim



-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of
Kræn Munck
Sent: Sunday, September 14, 2003 1:05 PM
To: [EMAIL PROTECTED]
Subject: [NAntC-Dev] MSITask CheckAssemblyForCOMInterop


  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



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf _______________________________________________
NAntContrib-Developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nantcontrib-developer



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
NAntContrib-Developer mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nantcontrib-developer

Reply via email to