If one will release a ClickOnce version, how can it be obfuscated by Dotfuscator?
Share
Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.
Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.
Lost your password? Please enter your email address. You will receive a link and will create a new password via email.
Please briefly explain why you feel this question should be reported.
Please briefly explain why you feel this answer should be reported.
Please briefly explain why you feel this user should be reported.
You can use the commercial version of Dotfuscator to automatically obfuscate a ClickOnce application by adding the deployment manifest (“foo.application”) as an input to your Dotfuscator project. Dotfuscator will allow you to add any necessary exclusions to the assemblies contained in the ClickOnce application and will create updated deployment and application manifests containing the obfuscated assemblies.
The free version of Dotfuscator included in Visual Studio (including Visual Studio 2010) does not have the feature to automatically obfuscate ClickOnce applications. In order to get a functioning obfuscated ClickOnce application you will need to recreate or update the ClickOnce manifests since obfuscation changes the signatures of the assemblies.
You can use mage.exe or mageui.exe (included in the Windows/.NET SDK) to update the ClickOnce manifests. If you are going to use mage.exe you need to be aware that you cannot use the “Use .deploy file extension” option in your ClickOnce options as it does not recognize it.
Assuming your ClickOnce application is named “Foo” and is at version 1.0.0.0 the process you will want to follow is:
Update the application manifest and resign it:
mage.exe -Update “Application Files\Foo_1_0_0_0\Foo.exe.manifest” -CertFile “c:\Foo\foo.pfx” -Password password
Update the deployment manifest and resign it:
mage.exe -Update Foo.application -AppManifest “Application Files\Foo_1_0_0_0\Foo.exe.manifest” -CertFile “c:\Foo\foo.pfx” -Password password
You now have a valid application and deployment manifest using obfuscated assemblies. You can also use the MageUI.exe tool to accomplish the same tasks (and it knows how to handle assemblies with the .deploy extension) but it is not as easy to automate.