Release Process
Contents
Using Dotfuscator CLI
Dotfuscator can be executed through batch file with command:
dotfuscator [options] [config_file]
Options may begin with the '/' or the '-' characters.
The following is a summary of the basic command line options.
/i Investigate only - tells Dotfuscator to not create any output assemblies files. If the configuration file specifies a map file, the results of the run will be found there (this option is close to worthless without generating a map).
/v Verbose output - induces Dotfuscator to provide information about its progress during execution. The level of detail here will likely change between releases.
/q Quiet output - tells Dotfuscator to run completely without printed output. This is suitable for inclusion into application build sequences. This option overrides verbose mode.
/? Print help
[config_file] Configuration file containing runtime options.
The configfile is a configuration file that is required for every run of Dotfuscator. Notice you do not enter configuration information or target assemblies on the command line. This information must be found in the configuration file.
Configuration File
Configuration file should be created with the Standalone Dotfuscator GUI. Do not change the configuration xml file directly. Follow these instructions to create config file:
Dotfuscator CLI extended options are designed to allow for basic obfuscation from the command line, without requiring you to first create a configuration file. If you use a configuration file with an extended command line option, the command line option supplements or overrides the commands in the configuration file. See Supplementing or Overriding a Configuration File from the Command Line for more information.
Directory inputs
Dotfuscator provides the ability to obfuscate and/or instrument all files in a directory via a Directory Package input. A Directory Package consists of a relative or absolute path to a directory and optionally a wildcard specifier (file mask) of which files to match. All managed assemblies that match the file mask will be used as inputs to Dotfuscator. Any unmanaged assemblies or other files that match the file mask will be listed as Package Artifacts and, while not processed by Dotfuscator, will be copied to the output directory during the build process.
To add a Directory Package select Add Input and type the path and a file mask wildcard to the Add Input dialog box. You can also add an entire directory of files (*.*) by selecting the Browse button, navigating to the directory of your choice and leaving text Folder Select in the file name prompt. You can specify an explicit path or use a Project Property to specify a substitution property for all or part of the path.
All project settings will be applied to all Directory Package assembly inputs and exclusion rules can be created and saved in the Dotfuscator project for any assemblies contained in the list of package assemblies.
Using InstallAware CLI
InstallAware includes a command line build utility which you may use in batch files, automated build processes, or just plain from the command line. The utility is invoked as follows:
miabuild.exe <projectfile> [/o=<outputfolder>] [/b=<buildtype>] [/r]
[+qf | -qf] [+qr | -qr] [+qi | -qi] [+qib | -qib]
[/p=<password>] [/l=<language>] [/pr=<patch reference>]
[COMPILERVAR1=VALUE1 ... COMPILERVARN=VALUEN]
<projectfile> Full/partial path to the .MPR project file
/o Optional parameter, full/partial path to custom build output folder
/b Optional parameter, override default build type
0: Uncompressed directory layout 1: Compressed Single Self Installing EXE 2: Compressed Web-Based EXE 3: Patch
/r Optional parameter, indicates that a new revision code should be used for this build
qf Optional parameter, enables or disables MSI file component optimization (runtime performance)
qr Optional parameter, enables or disables MSI registry component optimization (runtime performance)
qi Optional parameter, enables or disables unstable MSIcode statement ID generation (build performance)
qib Optional parameter, enables or disables partially stable MSIcode statement ID generation (blend)
/p Optional parameter, specifies the 256 bit AES encryption password to be used for this build
/l Optional parameter, specifies the default installer language to be used for this build
/pr Optional parameter, adds a patch reference to this build (may be specified more than once)
[COMPILERVARN=VALUEN] Optional parameter, compiler variable-value pairs for conditional compilation