私は非常に古いwinformアプリケーションを持っています。ユーザーはネットワークフォルダにローカライズされたexeファイルで直接作業します。コードでネットワークフォルダ内にローカライズされたファイルを強制的に削除する
私の大きな問題新しいバージョンをリリースするたびに問題が発生します。アプリの
DLLは、ユーザーによってロックされていると、私は次のエラーを取得する:
The process cannot access the file because it is being used by another process.
(私は新しいバージョンをリリースするために別のアプリを使用します)。
一部のユーザーがまだアプリケーションで作業している場合でも、ファイルを強制的に削除するスクリプトを作成します。
私はどの言語を書いても構いませんが、PowerShell、C#を試しましたが、答えが見つかりませんでした。あなたの質問にあなたがとにかく使用中の予期しないシャットダウンがアプリを与える展開アセンブリを削除強制する方法を求めているので、...
は最初の前に、exeファイルのプロセスを殺すことで試してみてくださいと仮定すると
Iドンプロセスによって使用されているファイルを強制的に削除できると思っています。 [この記事(http://www.techadvisor.co.uk/how-to/windows/how-delete-file-in-use-windows-rename-locked-corrupt-3605330/)は便利ですか? – SCramphorn
ファイルを削除することはできませんが、Windowsでは現在使用中のファイル(myapp.exeからmyapp-old.exeなど)の名前を変更することができます。次に、アプリケーションがロードされると、新しいファイルが使用されます。 –
実行ファイルをPowerShellのStop-ProcessまたはC#のprocess.Kill()で強制終了しようとしましたか?あなたがすでにこの道を歩いていた場合、私は答えとしていくつかの例を起動します。 –