2

奇妙な問題が発生しました。プログラムを更新する簡単なサービスがあり、ファイルを正常にダウンロードします。Explorerはそれを表示しますが、ダウンロード後1、2秒でExplorerから消えます。また、ダウンロード後にexeを実行するだけのサービスは、明らかに存在しないため、起動できません。

protected override void OnStart(string[] args)
{
    Update();           
}

public void Update()
{          
    WebClient WebClient = new WebClient();
    WebClient.DownloadFile("http://xxxxxxx/xx/test.exe", @"C:\test.exe");
    Load(); //Just runs the exe file.            
} 

AVをチェックしましたが、ブロックされていません。ダウンロード部分なしでロードコードをテストし、正常に動作しました。問題は、ダウンロードしようとしたときにのみ発生します。

4

2 に答える 2

1

サーバー側の問題でファイル名が変更されているはずなのに変更されていないことが判明したため、WebClient.DownloadFile を呼び出したところ、ダウンロードするファイルが見つからず、0 バイトでした。ダウンロードするものがなかったので、それを削除する前にディスク上のファイル。

于 2012-08-17T18:52:52.537 に答える
0

ルートへのファイルの書き込みCは非常に重要です。

あなたのプログラムにはおそらく書き込み権限がC:なく、例外を取得する代わりに、File VirtualStore が開始されvirtualized、ファイル アクセスが開始されます。

それを検索してみるとtest.exe、次のようなわかりにくい場所にあるかもしれません

C:\Users\User_name\AppData\Local\VirtualStore.
于 2012-08-17T06:35:21.880 に答える