My company uses Dotfuscator for our .NET application obfuscation. It works great, however I noticed it\'s a single threaded operation during our build process. Dotfuscator.exe i
Nope. Single threaded all the way.
It's sad, but it's almost all single threaded (I'm a developer on it). It also isn't supported to run multiple instances of Dotfuscator in parallel.. mostly.
If you have multiple separate assemblies/executables that need obfuscated, you can run multiple instances of Dotfuscator(using separate command lines or configuration files of course) though by using a bit of an undocumented trick.
If you go to C:\Program Files(x86)\PreEmptive Solutions
you'll see your Dotfuscator directory. (Mine is Dotfuscator Professional 4.9
) You can make a copy of that directory to some other directory. So, for example, if you made 2 copies of that directory into C:\Dotfuscator1
and C:\Dotfuscator2
, then you can run each of those two dotfuscator.exe
executables in each directory in parallel without them stepping on each other's feet. I won't say it's "supported", but it should work flawlessly.
Also, you'll need to copy two files into the two folders you copied from Program Files. The first file is located around C:\Users\YourName\AppData\Local\PreEmptive Solutions\Dotfuscator Professional Edition\4.0
. The file is named dfusrprf.xml
. Just copy it to be in the same folder as each dotfuscator.exe
. The next file is in C:\ProgramData\PreEmptive Solutions\Dotfuscator Professional Edition\4.0
and should be called dotfuscator.dat. This should be copied to the same location as
dfusrprf.xml`
With all of this in place, the two instances of Dotfuscator should run fine in parallel. Note that doing this with more than a few instances will cause you to need a lot of memory. On big programs Dotfuscator can take a large amount of memory(as in more than a gig)