WixCop は、2つの主な目的を果たす WiX v3 コマンドラインツールです:
WixCop のコマンドライン シンタックスは以下の通りです:
WixCop.exe [options] sourceFile [sourceFile ...]
WixCop は、コマンドライン引数としてかなり多数の WiX ソースファイルを取ります。 ワイルドカードが使えます。 WixCop は、@responseFile シンタックスを使って、オプションとソースファイルを含んでいる 応答ファイルをサポートしています。
WixCop は、以下の終了コードを返します:
以下の表は、WixCop がサポートするスイッチを記しています。
| WixCop スイッチ | 説明 | 
| -? | ヘルプを表示する。 | 
| -nologo | WixCop バナーを表示しない。 | 
| -f | ソースファイル中で遭遇したエラーを修復する。このスイッチは、書き込み可能なソースファイルだけに 効果があります。 | 
| -s | サブディレクトリ中のソースファイルを捜す。 | 
| -indent:n | 字下がりレベルごとのスペースのデフォルト数(4)を あなたが指定した数 n に オーバーライドする。 | 
| -set1filename | プライマリ設定ファイル(下方参照)をロードする。-set1 と設定ファイル名をわける文字が 全くない事に注意して下さい。 | 
| -set2filename | プライマリ設定ファイル中のいくつか あるいは全ての設定をオーバーライドする、代わりの設定ファイルをロードする。-set2 と設定ファイル名をわける文字が 全くない事に注意して下さい。 | 
WixCop は、2つの設定ファイルをサポートしています。一般に、プライマリ設定ファイルがあなたの “グローバル” 設定で、代わりの設定ファイルは 個々のプロジェクトに対してグローバル設定をオーバーライドさせます。
設定ファイルは、以下の構造を持つ XML です:
<Settings>
<IgnoreErrors>
<Test Id="testId" />
</IgnoreErrors> <ErrorsAsWarnings>
<Test Id="testId" />
</ErrorsAsWarnings> <ExemptFiles>
<File Name="foo.wxs" />
</ExemptFiles>
</Settings>
IgnoreErrors エレメントは、無視されるべき test ID をリストアップします。 ErrorsAsWarnings エレメントは、エラーから警告へ降格されるべき test ID をリストアップします。 ExemptFiles エレメントは、スキップされるべきファイルをリストアップします。
以下の表は、WixCop がサポートする test を記しています。
| WixCop test ID | 説明 | 
| Unknown | 内部のみ: 文字列が InspectorTestType に変換できない時に返される。 | 
| InspectorTestTypeUnknown | 内部のみ: 文字列が InspectorTestType に変換できない時に表示される。 | 
| XmlException | XML ロード例外が起こった時に表示される。 | 
| UnauthorizedAccessException | ファイルがアクセスできない時に表示される。一般的に、固定されているファイルに変更を保存しようとした時です。 | 
| DeclarationEncodingWrong | XML 宣言中のエンコーディング属性が 'UTF-8' ではない時に表示される。 | 
| DeclarationMissing | XML 宣言がソースファイルから欠けている時に表示される。 | 
| WhitespacePrecedingCDATAWrong | CDATA ノードの前の空白が誤っている時に表示される。 | 
| WhitespacePrecedingNodeWrong | ノードの前の空白が誤っている時に表示される。 | 
| NotEmptyElement | 空であるべきエレメントがそうでない時に表示される。 | 
| WhitespaceFollowingCDATAWrong | CDATA ノードに続く空白が誤っている時に表示される。 | 
| WhitespacePrecedingEndElementWrong | 終わりのエレメントに続く空白が誤っている時に表示される。 | 
| XmlnsMissing | xmlns 属性がドキュメントエレメントから欠けている時に表示される。 | 
| XmlnsValueWrong | ドキュメントエレメントの xmlns 属性が誤っている時に表示される。 | 
| CategoryAppDataEmpty | Category エレメントが空の AppData 属性を持っている時に表示される。 | 
| COMRegistrationTyper | 強く型付けされた WiX COM エレメントに変換されている間に、Registry エレメントにエラーが発生した時に表示される。 | 
| UpgradeVersionRemoveFeaturesEmpty | UpgradeVersion エレメントが空の RemoveFeatures 属性を持っている時に表示される。 | 
| FeatureFollowParentDeprecated | Feature エレメントが 使用を避ける事が望まれている FollowParent 属性を含んでいる時に表示される。 | 
| RadioButtonMissingValue | RadioButton エレメントに Value 属性が欠けている時に表示される。 | 
| TypeLibDescriptionEmpty | TypeLib エレメントが 空の文字列値を持つ Description エレメントを含んでいる時に表示される。 | 
| ClassRelativePathMustBeAdvertised | アドバタイズされていない Class エレメントに RelativePath 属性が現れた時に表示される。 | 
| ClassDescriptionEmpty | Class エレメントが 空の Description 属性を持っている時に表示される。 | 
| ServiceInstallLocalGroupEmpty | ServiceInstall エレメントが 空の LocalGroup 属性を持っている時に表示される。 | 
| ServiceInstallPasswordEmpty | ServiceInstall エレメントが 空の Password 属性を持っている時に表示される。 | 
| ShortcutWorkingDirectoryEmpty | Shortcut エレメントが 空の WorkingDirectory 属性を持っている時に表示される。 | 
| IniFileValueEmpty | IniFile エレメントが 空の Value 属性を持っている時に表示される。 | 
| FileSearchNamesCombined | FileSearch エレメントが 短いバージョンと長いものの両方のファイル名を含む Name 属性を持っている時に表示される。 | 
| WebApplicationExtensionIdDeprecated | WebApplicationExtension エレメントが 使用を避ける事が望まれている Id 属性を持っている時に表示される。 | 
| WebApplicationExtensionIdEmpty | WebApplicationExtension エレメントが 空の Id 属性を持っている時に表示される。 | 
| PropertyValueEmpty | Property エレメントが 空の Value 属性を持っている時に表示される。 | 
| ControlCheckBoxValueEmpty | Control エレメントが 空の CheckBoxValue 属性を持っている時に表示される。 | 
| RadioGroupDeprecated | 使用を避ける事が望まれている RadioGroup エレメントが見つかった時に表示される。 | 
| ProgressTextTemplateEmpty | Progress エレメントが 空の TextTemplate 属性を持っている時に表示される。 | 
| RegistrySearchTypeRegistryDeprecated | RegistrySearch エレメントが 'registry' にセットされた Type 属性を持っている時に表示される。 | 
| WebFilterLoadOrderIncorrect | WebFilter/@LoadOrder 属性が より強く型付けされた値を持っていない時に表示される。 | 
| SrcIsDeprecated | エレメントが 使用を避ける事が望まれている src 属性を含んでいる時に表示される。 | 
| RequireComponentGuid | Component エレメントに必須の Guid 属性が欠けている時に表示される。 | 
| LongNameDeprecated | エレメントが LongName 属性を持っている時に表示される。 | 
| RemoveFileNameRequired | RemoveFile エレメントが Name 属性や LongName 属性を全く持っていない時に表示される。 | 
| DeprecatedLocalizationVariablePrefix | ローカライズ変数が 使用を避ける事が望まれている '$' 文字で始まっている時に表示される。 | 
| NamespaceChanged | エレメントの名前空間が変更された時に表示される。 | 
| UpgradeVersionPropertyAttributeRequired | UpgradeVersion エレメントに必須の Property 属性が欠けている時に表示される。 | 
| UpgradePropertyChild | Upgrade エレメントが 使用を避ける事が望まれている Property 子エレメントを含んでいる時に表示される。 | 
| RegistryElementDeprecated | 使用を避ける事が望まれている Registry エレメントが見つかった時に表示される。 | 
| PatchSequenceSupersedeTypeChanged | PatchSequence/@Supersede 属性が 使用を避ける事が望まれている整数値を含んでいる時に表示される。 | 
| PatchSequenceTargetDeprecated | 使用を避ける事が望まれている PatchSequence/@Target 属性が見つかった時に表示される。 | 
| VerbTargetDeprecated | 使用を避ける事が望まれている Verb/@Target 属性が見つかった時に表示される。 | 
| ProgIdIconFormatted | ProgId/@Icon 属性値が書式設定された文字列を含んでいる時に表示される。 | 
| IgnoreModularizationDeprecated | 使用を避ける事が望まれている IgnoreModularization エレメントが見つかった時に表示される。 | 
| PackageCompressedIllegal | Package/@Compressed 属性が Module エレメントの下で見つかった時に表示される。 | 
| PackagePlatformsDeprecated | Package/@Platforms 属性が見つかった時に表示される。 | 
| ModuleGuidDeprecated | 使用を避ける事が望まれている Module/@Guid 属性が見つかった時に表示される。 | 
| GuidWildcardDeprecated | 使用を避ける事が望まれている guid ワイルドカード値が見つかった時に表示される。 | 
| FragmentRefIllegal | FragmentRef エレメントが見つかった時に表示される。 | 
| FileRedundantNames | File/@Name が File/@ShortName にマッチする時に表示される。 |