やる気駆動型エンジニアの備忘録

WPF(XAML+C#)の話題を中心に.NET/Android/CI やたまに趣味に関するブログです

Jenkinsでインストーラーを作成する方法(Visual Studio 2017)

Jenkins でVisual Studio 2017 のInstaller Project を使用したインストーラーの自動ビルド方法について、これまでと若干異なる手順を踏む必要があったのでメモ

ちなみにVisual Studio 215 までは以下の方法でインストーラーの作成が可能です↓↓↓↓↓

iyemon018.hatenablog.com

これまでと異なる箇所

VS 2015 までは、以下のようなレジストリの値が最初から存在しました。

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\12.0_Config\MSBuild\EnableOutOfProcBuild

VS 2017 ではこのようなレジストリの値がなくなっています。
そのため、何もせずにインストーラーを実行しようとすると以下のメッセージが表示されます。

ERROR: An error occurred while validating.  HRESULT = '8000000A'

対策

無いものは作ればいい。ということでレジストリの値を作ってしまいましょう。
レジストリエディタを起動して以下のキーを追加します。

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\15.0_XXXX_Config\MSBuild\EnableOutOfProcBuild

設定する値は"DWORD:0" です。

15.0_XXXX_Config となっている箇所は、"XXXX" 部分に何らかのコードが入ります。
バージョン番号でしょうか?私の環境では以下のようになっていました。
f:id:iyemon018:20181113173021p:plain

このコード部分は一致させないとビルドは失敗します。
このコードが環境によって異なるのか、バージョンによって異なるのかわかっていません。

もしかするとこのコードは可変値の場合があるため、状況によっては手動でレジストリキーを変える必要があるかもしれませんのでご注意ください。