Dotfuscator 4.6.1000 Released (and other news)

It has been an extremely busy few months here at PreEmptive.  In addition to continuing the work for our inclusion in Visual Studio 2010, launching a new website , updating our product fulfillment, working on a PDC presentation , preparing for our spot in the TechEd EMEA 2009 keynote and other top secret stuff, the development team has turned out a huge major release of Dotfuscator.  The big news is there are some nice improvements; the bigger news is that Dotfuscator can now process an entire directory of files, a Silverlight XAP, or an entire ClickOnce application without requiring any manual steps of recreating XAPs or regenerating and resigning ClickOnce manifests.  We call this new functionality Packaging and we have even more plans for it in the future.

With Packaging, Dotfuscator is significantly more flexible and it’s much easier to have a fully integrated obfuscation/instrumentation process for Silverlight, ClickOnce, or a project with a fluctuating list of component assemblies.

This means we can gladly retire a few of our KnowledgeBase articles! Now, you can take the XAP file or ClickOnce deploy manifest that Visual Studio emits, include it as an input to Dotfuscator, and Dotfuscator will parse it and allow you to work with the all the contained assemblies in the user interface just as you would any other assembly.  When you build, Dotfuscator outputs a new XAP or full ClickOnce application (including updated and signed manifests). You have now just roundtripped a XAP or ClickOnce application through Dotfuscator with no additional outside steps required to rebuild your deployment artifacts.

Dotfuscator 4.6 Input Screenshot

In the above screenshot you can see a demonstration of the new Packaging support.  I have added a Silverlight XAP (SilverlightEuCountries.xap) and Dotfuscator shows the application library that will be processed as well as the System.Xml.Linq assembly, embedded manifest and the XML data file that will be included in the XAP file that Dotfuscator will output.  I have also added a ClickOnce application by selecting the deploy manifest (ClickOnceDemo.application) and we see that Dotfuscator will process the application assembly and include the icon file that was originally deployed with the application in the new deployment that Dotfuscator will output.  Finally I have added a directory wildcard (C:\temp\MedicalImage\MedicalImage\SourceCode\CSharp\bin\x86\Debug\*.*) as a third input.  The directory package will process the MedicalImage.exe application as well as it’s ContosoFunctions.dll library.  The the files listed in the Package Artifacts will be copied to the output directory so that the application config file and Microsoft Access database file are now included in the output from the build process.  I now do not have to invoke any post build file copy process in order to have a fully functional application and supporting files as the output from a Dotfuscator build. You can view short instructional videos on the See It Work page for Dotfuscator.

If that were all that was included in this release, it would be big news. But we’ve also added a new feature to our Runtime Intelligence instrumentation as well.  You have always been able to create extra data at runtime and send it back as a name/value dictionary embedded in your usage messages with the Extended Keys feature.  Now we have added a new property (“ExtendedKeyMethodArguments”) to all attributes that support extended keys. This tells Dotfuscator to inject code that gathers the names and values of the instrumented method’s arguments and send them as additional Extended Key data.  This means that if you are interested in exactly which values are being passed to your methods at runtime you no longer have to write additional code to gather and present the data as Extended Keys; you can specify that you want the names and values of all parameters or a subset of the parameters to be collected each time the method is invoked and included in any other Extended Key data that you may be sending back.  We also changed how some of our instrumentation works to provide a better experience for instrumenting add-ins for Office, Visual Studio, or any situation where your assembly may be hosted in a different process.

Since we stay on the bleeding edge our releases always include support for the very latest from Microsoft.  Dotfuscator 4.6.1000 is no exception.  We provide full integration with Visual Studio 2010 Beta 2 and support for .NET 4.0 applications, both obfuscation and instrumentation.

Since Visual Studio 2010 Beta 2 has a Go Live license we also provide a similar Go Live license for the Community Edition of Dotfuscator Software Services included in Visual Studio 2010.  This allows you to use the Runtime Intelligence instrumentation features included in Dotfuscator and to send usage data from your application to the free Runtime Intelligence portal which allows you to analyze your applications’ runtime environments and usage patterns.

Also included in this release are bug fixes and UI enhancements.  The best way to stay informed of any updates to Dotfuscator is to watch or subscribe to the changelog .  You can also follow us on Twitter for updates on what we are doing.

We have been working hard on this release and have much more in store for the future.  Please feel free to contact us at support@preemptive.com with any feedback or stop by and see us at TechEd EMEA , PDC 2009 or CodeMash 2010 .  Keep up with where we are going and interesting articles on our News & Events page.

With that I would like to congratulate the entire development team at PreEmptive for the extraordinary amount of work they have been doing and give a warning to Codemash that the entire development team from PreEmptive is going to be there in force this year.

Leave a Reply