1

Windows Update をアンインストールするバッチ スクリプトがあります。

@echo off
REM uninstall windows update
wusa /uninstall /kb:2592687 /quiet /norestart

コマンドラインから実行すると、問題なく実行されます。しかし、C# インストーラー クラスから呼び出すと、

protected override void OnAfterInstall(IDictionary savedState)
    {
        base.OnAfterInstall(savedState);
        Process proc = new Process();
        try
        {
            proc.StartInfo.FileName = @"path\to\bat";
            proc.Start();

        }
        catch (System.Exception ex)
        {
            MessageBox.Show(ex.Message);
        }

    }

タイトルにエラー メッセージが表示され、アップデートがアンインストールされません。管理者としてセットアップを実行しましたが、同じエラーが発生し、グーグルで検索しましたが、ほとんど役に立ちませんでした. エラーの原因を特定して修正するには、どのような手順を実行する必要がありますか?

更新:さらに突っ込んだ後、イベントビューアーに到達し、あいまいなエラーが発生しました

Windows update  could not be uninstalled because of error 2147549183 

これにより、64 ビットと 32 ビットについて説明するページが表示されました。そして、私のコードを彼らが提案したものに変更します

Process proc = new Process();
        try
        {
            proc.StartInfo.FileName = "cmd.exe";
            proc.StartInfo.Arguments = @"/c path\to\kbunins.bat";
            proc.Start();
            MessageBox.Show("Success.");
        }

ログに新しいイベントが追加されず、KB​​ がまだインストールされています。

4

0 に答える 0