Windows Installer
Dotfuscator Professional can be installed using a traditional Windows installer package (.msi
).
We recommend using this package to install on Windows development machines.
For macOS and Linux development machines, please use the NuGet package instead.
Certain kinds of build agents can also use the Windows installer - see Build Agents for details.
System Requirements
- 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 6 (version 6.0.0 or higher) runtime installed
- MSBuild for Mono: 16.0 or later, running on Mono 6.0 or later
- MSBuild is not required to run the command line interface or Config Editor.
Below are examples of development tools (IDEs, SDKs, etc.) which Dotfuscator supports when using the Windows Installer.
Visual Studio (for Windows): 2012 and later.
Visual Studio 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 can run during builds started from the Visual Studio IDE as well as from the following command line tools that can be installed with Visual Studio: msbuild
and dotnet
.
Installing Visual Studio (with a .NET workload in VS 2017 and later) will also satisfy the .NET runtime and .NET SDK requirements.
Visual Studio Code: any version.
You can integrate Dotfuscator into any .NET-based project.
Dotfuscator can run during builds which are triggered through build tasks, if those build tasks call supported msbuild
and dotnet
tools.
Visual Studio Code does not include these tools; you will need to 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 can run 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 will need local administrator rights to run the installer.
If you have Dotfuscator 4 installed, the installer will give 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 will use Dotfuscator with these components.
After installation, if you have not yet activated Dotfuscator on the machine, the activation tool will launch. 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 | Installation 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 Files
on 32-bit versions.{app dir}
is the directory where you chose to install Dotfuscator Professional.The installer will set the
DOTFUSCATOR_HOME
environment variable to this directory's path.If possible, the installer will also add this directory to your
PATH
environment variable, so in most cases you can invoke tools in this directory just by typing their names at the command line (e.g.,dotfuscator
for the command line interface).
DOTFUSCATOR_HOME variable
When it is installed using the Windows installer, Dotfuscator adds a system environment variable, DOTFUSCATOR_HOME
, that specifies the location of Dotfuscator on a particular machine.
DOTFUSCATOR_HOME
is also appended to the system PATH environment variable (as long as there is room to add it).
If your system PATH environment variable was too long to append %DOTFUSCATOR_HOME%;
during installation, you may want to reduce the length of the system path and then append %DOTFUSCATOR_HOME%
to the system PATH yourself.
For side-by-side installs, the DOTFUSCATOR_HOME
environment variable refers to whichever version of Dotfuscator was installed last.
If you would like the variable to refer to another version, update the system environment variable to point to the install location of the other version.
When you uninstall Dotfuscator, the installer will unset DOTFUSCATOR_HOME
and remove 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 reconfigure DOTFUSCATOR_HOME
to point to one of those versions.