みんなの「教えて(疑問・質問)」にみんなで「答える」Q&Aコミュニティ

こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

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

Visual studio(C#)でコンパイルした、
Windows EXE実行ファイルのリリースについて質問です。

バッチシステムとしてタスクスケジューラーで起動させますが、
頻繁にシステム改修があり、都度リリースが必要です。

しかし、システム実行中にリリース(EXEファイルの上書き)を行うと、
起動中のため上書きエラーとなります。

実行中のEXEに対して、
次回の実行分から最新のシステム改修を反映させるには、
どのようにしたら良いでしょうか?

以下私の案がございますが、スマートではありませんし、
実行開始に時間がかかるデメリットがございます。
他にスマートな案はございますでしょうか?

起動に関するフレームワークなどあるのでしょうか。

<案>
1.処理開始時に本体EXEファイルをコピーして実行版EXEファイルを作成する(同一のEXEファイル)
2.実行版EXEファイルを起動する
3.実行中でも本体EXEファイルは上書き可能なため、本体EXEファイルに対してリリース(EXEファイルの上書き)を行う

投稿日時 - 2019-03-19 08:35:18

QNo.9598329

すぐに回答ほしいです

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.2

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

投稿日時 - 2019-03-21 17:09:53

ANo.1

起動のバッチか何かで起動前に新しい版を置いてある場所とタイムスタンプを比較して新しければコピーしてから実行するようにすればいいのでは?

http://piyopiyocs.blog115.fc2.com/blog-entry-802.html
とか参照(ここまで複雑なバッチにする必要は無い)

投稿日時 - 2019-03-19 19:27:05

あなたにオススメの質問