Activity overview
Latest activity by Roger Billsdon
Test program to demonstrate problems with COM interop
Hi all
If anyone is interested, I've now been able to generate a small test program which demonstrates the problem that SmartAssembly has obfuscating programs that use embedded COM interop types. T...
Problem with embedding interop types
Hi all
Since my previous posts I've encountered further problems when programs that use COM interop are obfuscated with SmartAssembly.
After a lot of further trial and error experimentation I now b...
Hi both
Many thanks for those thoughts, but I'm not processing any 3rd party assemblies or defining any shape structs. I've excluded the Microsoft.Office.Interop.Visio namespace and all of my classes that provide Visio helper functions and I've completely disabled pruning.
All the problems seem to be related to Visio functions that affect the Visio graphical user interface. For example, the select method causes the Visio shape to be surrounded by a green selection box. With this type of operation I think Visio interop can sometimes be a bit slow and I suspect more than one thread is being used so that objects requested via interop may not have been created unless you pause to allow events on the Visio UI thread to be processed. Is it possible that the thread synchronisation has somehow been changed in the obfuscated version of the program or something?
Sorry if this is a little garbled, but I don’t really know much about the internals of Visio or COM interop and this is just a little conjecture on my part as I'm now really clutching at straws.
Best regards
Roger / comments
Hi both
Many thanks for those thoughts, but I'm not processing any 3rd party assemblies or defining any shape structs. I've excluded the Microsoft.Office.Interop.Visio namespace and all of my class...
Hi Nick
Many thanks, but I'd already read through those.
Because all the SmartAssembly help topics are all marked "Help content is still under construction" I thought maybe you might have some additional content (even if it's only in draft form) that was a little more specific to the pruning or interop problems I'm hitting?
Best regards
Roger / comments
Hi Nick
Many thanks, but I'd already read through those.
Because all the SmartAssembly help topics are all marked "Help content is still under construction" I thought maybe you might have some addi...
Hi Slaphead
As far as I'm aware the program I’m testing doesn't use reflection or serialisation.
It does use Microsoft.Office.Interop.Visio which I believe is basically the same COM interop technology as is used to program against the other Microsoft Office products including Access, Word, Excel, etc. Does this Microsoft Office or COM interop technology use reflection or serialisation?
As I've excluded Microsoft.Office.Interop.Visio from both obfuscation and pruning I thought that would have excluded all the Visio methods and have obviated the need for adding attributes anywhere else in the program where the Visio methods are called? Because calls to the Visio API are littered throughout this program I can’t believe that would be necessary because the problems seem to be limited to only a few Visio methods like Select and Layer.Add.
Does anyone use SmartAssembly to obfuscate programs that use interop for Visio or for any of the other Microsoft Office programs or, failing that, any COM interop? If so, are there any guidelines that would help me narrow down the Visio methods that I need to test for problems and do they have any helpful hints or pointers for solutions, etc?
Many thanks
Roger / comments
Hi Slaphead
As far as I'm aware the program I’m testing doesn't use reflection or serialisation.
It does use Microsoft.Office.Interop.Visio which I believe is basically the same COM interop techn...
Yet another Visio interop programming problem
Hi all
I've hit yet another Visio interop programming problem, this time with the simple Visio add layer method which works fine in the original program but in the SmartAssembly obfuscated version ...
Hi all
Having done some more testing it now seems that simply setting the Visio ShowChanges property to false doesn't always cure the problem with the Select method. Something curious is clearly going on.
Slaphead99: Did you find anything in your support database in relation to this specific type of problem or more generally with SmartAssembly obfuscation of programs that use interop to work with any of the Microsoft Office programs or, indeed, any program that use any COM interop?
Many thanks
Roger / comments
Hi all
Having done some more testing it now seems that simply setting the Visio ShowChanges property to false doesn't always cure the problem with the Select method. Something curious is clearly go...
Another Visio programming problem
Hi
I've hit another problem, this time it's with sinking custom events raised by Visio. The event sink in my program doesn't catch events raised by Visio if the SmartAssembly pruning option is sele...
Visio program problems
There seems to be some problems with Smart Assembly and certain aspects of Microsoft Visio and Access interop. I’m programming using VB2010 and Visio 2007 and at present I’m testing on Windows ...