前提環境 §
Visual Studio 2017 Update2
問題 §
CodeplexではClickOnceインストーラーでリリースを公開していた。Codeplexからgithubにソースコードを移行できたが、githubには同等の機能が存在しない
解決が困難な原因 §
ネット上のgithubからClickOnceインストーラーを公開する方法はいずれも情報が古くそのままでは使用できない。(この文書もすぐ古くなる可能性がある)
解決 §
ファイルをリポジトリに登録した上で、github上のファイルを生で公開する機能を使用してClickOnceインストーラーのsetup.exeを提供する。注意点は以下の通り。
URLの読み替え §
- https://raw.githubusercontent.com/[ユーザーID]/[プロジェクト名]/[ブランチ名]/[ユーザー定義のフォルダ名]/setup.exe
基本的にgithubのWebサイトでソースコードの上に出るRAWボタンで得られるURIである。
publish.htm §
setup.exeではなくpublish.htmを指定するとソースコードが表示されてしまい、インストーラーを実行する機能を発揮しないようだ。setup.exeを直接実行してしまえば大丈夫だ。
転送設定の変更 §
core.autocrlfをfalseに設定する。この設定は、ローカル、グローバル、ポータブルの3種類があるようなので注意。たぶん、ローカルの設定を変更すれば良いだろう。ローカルの設定はデフォルトでは以下にあるようだ。
- "C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\CommonExtensions\Microsoft\TeamFoundation\Team Explorer\Git\mingw32\etc\gitconfig"
管理者権限で開いて、先頭付近にautocrlf = trueという記述があればこれをfalseに書き換える。
[core]
symlinks = false
autocrlf = false
設定結果は、Visual Studioのチームエクスプローラの設定→リポジトリの設定→その他(最下部)で確認できる。
感想 §
「結局、ネットの情報があまりにカオスすぎて、自分で一部システムを解析して辻褄を合わせてしまった」
「今は動いているわけだね」
「明日も動くかどうか分からないがね」
「なんてカオスだ」
追記2017/08/17 §
gitconfigにautocrlf=falseを記述してあっても、Visual Studio 2017 Update3を入れた時点で設定は上書きされて消滅するようだ。その後、autocrlf=falseを書き加えてもエラーになるだけで動作しない模様。続きはClickOnceインストーラーをgithubでホストする【Visual Studio 2017 Update3編】で。