• 締切済み

Windows EXEファイルのリリースについて

Visual studio(C#)でコンパイルした、 Windows EXE実行ファイルのリリースについて質問です。 バッチシステムとしてタスクスケジューラーで起動させますが、 頻繁にシステム改修があり、都度リリースが必要です。 しかし、システム実行中にリリース(EXEファイルの上書き)を行うと、 起動中のため上書きエラーとなります。 実行中のEXEに対して、 次回の実行分から最新のシステム改修を反映させるには、 どのようにしたら良いでしょうか? 以下私の案がございますが、スマートではありませんし、 実行開始に時間がかかるデメリットがございます。 他にスマートな案はございますでしょうか? 起動に関するフレームワークなどあるのでしょうか。 <案> 1.処理開始時に本体EXEファイルをコピーして実行版EXEファイルを作成する(同一のEXEファイル) 2.実行版EXEファイルを起動する 3.実行中でも本体EXEファイルは上書き可能なため、本体EXEファイルに対してリリース(EXEファイルの上書き)を行う

みんなの回答

  • unokwave
  • ベストアンサー率58% (966/1654)
回答No.2

上書きできない物については次のログイン時やPC起動時に上書きする差分を動的に生成しておいて、次のログイン時やPC起動時に書き換えるのが終了させられないプロセスのWindowsにおける一般的作法だと思います。 見方を変えれば、アップデートファイルを事前にダウンロードしておき、ログイン時やPC起動時にアップデートを実行するようにすれば良いですね。

  • nerimaok
  • ベストアンサー率34% (1125/3221)
回答No.1

起動のバッチか何かで起動前に新しい版を置いてある場所とタイムスタンプを比較して新しければコピーしてから実行するようにすればいいのでは? http://piyopiyocs.blog115.fc2.com/blog-entry-802.html とか参照(ここまで複雑なバッチにする必要は無い)

関連するQ&A