You can install Dotfuscator Professional using a traditional Windows installer package (.msi). Use this package to install on your Windows development machine.
For macOS and Linux development machines, use the NuGet package instead.
Certain kinds of build agents can also use the Windows installer. See Build Agents for details.
System Requirements
These are the requirements for the machine where Dotfuscator runs. Dotfuscator can process applications that target other versions and flavors of .NET, such as Xamarin, MAUI, .NET 5, .NET Core, and both old and current versions of the full .NET Framework.
-
Operating System (one of the following):
- Windows 7 or later
- Windows Server 2008 R2 or later
- .NET runtime: .NET Framework 4.7.2 or later
- .NET SDK: .NET Framework SDK 1.1 or later
-
MSBuild (any of the following):
- MSBuild for .NET Framework: 4.0 or later, running on .NET Framework 4.7.2 or later
- MSBuild for .NET Core: 16.0 or later, with the .NET 10 SDK installed
- MSBuild for Mono: 16.0 or later, running on Mono 6.0 or later
Supported Development Tools
The table below shows which development tools Dotfuscator supports when you use the Windows Installer.
| Development Tool | Supported Versions | Integration Capabilities |
| Visual Studio (for Windows) | 2012 and later. Community, Professional, and Enterprise are supported. |
You can integrate Dotfuscator into projects for .NET Framework, .NET 5, .NET Core, .NET Standard, Xamarin, and MAUI. Dotfuscator runs during builds started from the Visual Studio IDE and the msbuild and dotnet command-line tools. Installing Visual Studio also satisfies the .NET runtime and .NET SDK requirements. |
| Visual Studio Code | Any version | You can integrate Dotfuscator into any .NET-based project. Dotfuscator runs during builds triggered through build tasks that call supported msbuild and dotnet tools. Visual Studio Code does not include these tools; install them via an SDK or another IDE. |
| .NET Framework runtime | 4.0 and later. | You can integrate Dotfuscator into projects for .NET Framework and .NET Standard. Dotfuscator runs during builds started from the .NET Framework msbuild command line tool. |
| .NET Core SDK | 2.1 and later (latest patch versions) | You can integrate Dotfuscator into projects for .NET Core and .NET Standard. Dotfuscator can run during builds started from the .NET Core dotnet command line tool. |
| Mono SDK | 6.0 and later | You can integrate Dotfuscator into projects for Mono and .NET Standard. Dotfuscator can run during builds started from the Mono msbuild command line tool. |
Installation Instructions
Go to the Dotfuscator Downloads page to download the Dotfuscator Professional Installer. Then, run it on your development machine, noting the following:
- You need local administrator rights to run the installer.
- If you have Dotfuscator 4 installed, the installer gives you the option to uninstall that older version. For migration instructions, see Upgrading from Dotfuscator 4.
- When selecting features to install, ensure the MSBuild Components feature is enabled, as most projects use Dotfuscator with these components.
- After installation, if you have not yet activated Dotfuscator on the machine, the activation tool launches. Follow the prompts to use your web browser to activate Dotfuscator.
After installation and activation, follow the Protect Your App instructions to integrate Dotfuscator into your build.
Installed Components
Dotfuscator's Windows Installer deploys the following components:
| Component | Intallation Location |
|---|---|
| MSBuild targets | $(MSBuildProgramFiles32)\MSBuild\PreEmptive\Dotfuscator\7\PreEmptive.Dotfuscator.Common.targets |
| MSBuild tasks (modern) | $(MSBuildProgramFiles32)\MSBuild\PreEmptive\Dotfuscator\7\PreEmptive.Dotfuscator.Tasks.dll |
| MSBuild tasks (legacy) | $(MSBuildProgramFiles32)\MSBuild\PreEmptive\Dotfuscator\7\legacy\PreEmptive.Dotfuscator.Tasks.dll |
| Command line interface |
{app dir}\dotfuscator.exe (.NET Framework app) |
| Config Editor | Start Menu or {app dir}\dotfuscatorUI.exe
|
| User Guide | Start Menu or {app dir}\help\index.html
|
| Obfuscation Attributes | {app dir}\PreEmptive.ObfuscationAttributes.dll |
| PreMark tool | {app dir}\premark.exe |
| TamperTester tool | {app dir}\TamperTester.exe |
Where:
-
$(MSBuildProgramFiles32)is a reserved MSBuild property pointing to theC:\Program Files (x86)directory on 64-bit versions of Windows andC:\Program Fileson 32-bit versions. -
{app dir}is the directory where you chose to install Dotfuscator Professional.
DOTFUSCATOR_HOME Variable
When installed using the Windows installer, Dotfuscator adds a system environment variable, DOTFUSCATOR_HOME, which specifies its location on your machine. DOTFUSCATOR_HOME is also appended to the system PATH environment variable (as long as there is room).
If your system PATH environment variable was too long during installation, you may need to reduce its length and then append
%DOTFUSCATOR_HOME%to the system PATH yourself.For side-by-side installs,
DOTFUSCATOR_HOMErefers to the version of Dotfuscator that was installed last. If you want the variable to refer to another version, update the system environment variable to point to that version's install location.When you uninstall Dotfuscator, the installer unsets
DOTFUSCATOR_HOMEand removes it from PATH, but only if the specified path matches the version being uninstalled. If you have other versions of Dotfuscator installed, you may want to reconfigureDOTFUSCATOR_HOMEto point to one of those versions.