Microsoftは先日、コマンドラインでQuiteとパッシブモードを持つ.NET Framework Repair Tool v1.2をリリースした。これは必要に応じて自動的に修復が可能で、オフライン/ロックダウン環境で使用することができるようになる新しい"オフライン修復"モードと組み合わせることで、大規模なエンタープライズへの配置に大幅に適合する。
.NET修復ツールは主にセットアップの失敗、Windowsインストーラーサービスの状態を修正するといったシステムに必要な変更、権限アクセスコントロールリスト (DACLs) のリセットと無効や破損した登録情報の更新による問題の解決への差し込みを可能にするためにシステムをスキャンする。このツールには必要なログを含む.cabファイルを生成する機能も含まれている。
.NET修復ツールと連携するには、完全なUIかQuiet/パッシブモードを使用する必要がある。完全なUIモードを使う場合、ウィザードのガイドで問題のスキャンと修正に必要なステップを実行することができる。Quietとパッシブモードは、以下のようなコマンドラインスイッチで構成されている。これらは修正の適用、%temp%フォルダーにログの収集、使用状況データをMicrosoftに送信するために使用することができる。
NetFxRepairTool.exe /q /l "%temp%"
これは、一般的なログファイルの例である:
MSI (s) (84:F8) [16:02:31:526]: APPCOMPAT: no matching ProductCode found in database.
MSI (s) (84:F8) [16:02:31:529]: MSCOREE not loaded loading copy from system32
MSI (s) (84:F8) [16:02:31:531]: Machine policy value 'TransformsSecure' is 0
MSI (s) (84:F8) [16:02:31:532]: User policy value 'TransformsAtSource' is 0
MSI (s) (84:F8) [16:02:31:532]: Machine policy value 'DisablePatch' is 0
MSI (s) (84:F8) [16:02:31:532]: Machine policy value 'AllowLockdownPatch' is 0
MSI (s) (84:F8) [16:02:31:532]: Machine policy value 'DisableLUAPatching' is 0
MSI (s) (84:F8) [16:02:31:532]: Machine policy value 'DisableFlyWeightPatching' is 0
Microsoftはまた、.NET Framework 4.5と4.5.1,のサポートを追加して、修正したい.NET Frameworkバージョンを指定するオプションとすべてのバージョンを修正する新しいコマンドラインオプションを追加した。前者のオプションの方が一般的にはるかに高速である。
InfoQは、Microsoftの開発者ツールチームのスポークスマンMike Mitchell氏となぜ修復ツールがWindows 8をサポートしないのかについて話した:
.NET Frameworkは、Windows OSに内包とWindows OSと別の両方でリリースされている。.NET FrameworkがOSの一部としてリリースされている場合、サービススタックはCBSという技術を使っており、あらゆる問題はWindows内で処理されます。
.NET FrameworkがOSの一部としてリリースされていない場合は、顧客のために.NETを再配布しているため、これを使用して、自社製品と一緒にそれを出荷することができる。再配布用のインストーラーは、Windows Installerと呼ばれるスタックを使用します。Windowsインストーラースタックへの特定の問題が原因で、ときどき再配布か再配布のアップデートをインストールしているときに問題に遭遇します。.NET Framework修復ツールは、これらの問題に対応することができます。
Windows 8では、.NET 3.5 SP1と(4.5.1を含む)4.5は、OSの一部としてリリースされているため、再配布版をインストールする必要はありません。そして、再配布がないインストールシナリオは存在せず、特定の問題に対応するこのツールは存在しません。そのため、Windows 7移行でこのツールのサポートを拡張する必要がありません。
最後に、最新のリリースでは実際に修正する前にログを調査して、ログ収集のみモードでツールを実行するオプションが加わっている。また、quietとパッシブモードですべてのデータを収集しないこともできる。Microsoft .NET Frameworkチームは、最近投稿されたブログで、修復ツールを効果的に使えるように詳細のシナリオを検証している。