1

I have a library containing an arcmap extension that I would like to protect using SofPro's PC Guard for .NET.

Since Sofpro won't let me protect my dll unless I also protect arcmap.exe, I changed my dll so that it gets built as an Exe. (I added a Main simply prints "hello world".)

I'm able to register the exe using EsriRegasm and have verified that arcmap loads the extension from the exe.

However, after applying SofPro protection to the exe, EsriRegAsm refuses to register it.

"Registration failed, Could not load exe or one of its dependencies. The module was expected to contain an assembly manifest".

I've tried, as suggested, turning off "Hide executable object names", and also turned off data or code section encryption.

Kirk Kuykendall
  • 25,787
  • 8
  • 65
  • 153

1 Answers1

1

If the goal is simply license management why not implement IExtensionConfig? If it is to prevent reverse engineering then I think the best you can hope for is obfuscation. I doubt anything else (e.g. memory protection) would work with a parent application not under your source control.

Glorfindel
  • 1,096
  • 2
  • 9
  • 14
blah238
  • 35,793
  • 7
  • 94
  • 195
  • The company I've developed the extension for already uses SofPro to manage licenses on other apps, including an ArcEngine based exe. They would like to use SofPro to manage the licensing on the extensions too. – Kirk Kuykendall May 28 '13 at 01:26
  • I am just guessing, but I think that will not be possible unless there is a way to disable all of its protection features except for the license management. Best to take it up with ESRI and SofPro directly though. – blah238 May 28 '13 at 07:34