0

アプリケーションのさまざまなコンポーネントをインストールする小さな MMC スナップインを開発しました。具体的には、System.EnterpriseServices.RegistrationHelper を使用して .NET アセンブリを COM+ に登録します。ロジックは単純です。最初に既存のアセンブリをアンインストールし、次に新しいファイルをコピーしてから、新しいアセンブリをインストールします。コードは次のようになります。

if (File.Exists(destination))
{
   try
    {
       new RegistrationHelper().UninstallAssembly(destination, ComPlusHelper.ApplicationName);
    }
    catch (Exception ex)
    {
        Log.LogError(...);
    }
}
File.Copy(source, destination, true);

ただし、File.Copy 呼び出しは「別のプロセスで使用されているため、プロセスはファイル xxxx にアクセスできません」というエラーで失敗します。MSDN とグーグルを読んで一日を過ごしましたが、解決策が見つかりませんでした。

誰か提案はありますか?

4

1 に答える 1