1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Unity(C#)でProcess.Startしようとしたときに躓いた話

Posted at

事の起こり

ゲームやツールに存在する自動アップデート機能。
1度は自分で実装してみたいと思い、やってみようとしたときの話です。

構成

  • 0.exe
    • 本体。これをアップデートするのが目標。
  • 1.exe
    • 0.exeをアップデートするためのexe。

手順

  1. 0.exe: 起動したときに更新があるかどうかを確認する
  2. 0.exe: 最新版のzipを1つ上のディレクトリにダウンロードする
  3. 0.exe: 1.exeを1つ上のディレクトリにコピーする
  4. 0.exe: 1つ上のディレクトリの1.exeを起動する(今回の問題)
  5. 1.exe: zipを解凍して上書きする
  6. 1.exe: 解凍した0.exeを起動する
  7. 0.exe: 起動したときに更新があるかどうかを確認する(なければOK)

問題

4.の手順にて1.exeが起動しなかった。

原因

ProcessStartInfo.FileNameで指定するプロセス名は/ではなく\\で区切らなければいけないというWindowsの問題でした。
実行ファイルのディレクトリとファイル名とでPath.Combineした後のを[string].Replace("/", @"\\")してあげればいいですね。

1
0
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?