質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

Q&A

解決済

1回答

16871閲覧

VisualStudioInstraller Setup Project でビルドすると HRESULT = '80070057' が発生します

pectin

総合スコア95

Visual Studio

Microsoft Visual StudioはMicrosoftによる統合開発環境(IDE)です。多種多様なプログラミング言語に対応しています。

WPF

Windows Presentation Foundation (WPF) は、魅力的な外観のユーザー エクスペリエンスを持つ Windows クライアント アプリケーションを作成するための次世代プレゼンテーション システムです

0グッド

0クリップ

投稿2017/05/18 08:54

編集2017/05/18 09:25

###VisualStudio Installer Setup Project でビルドを成功させたいです

VisualStudio 2017 で WPF アプリケーションを作成して、インストーラで配布しようと Setup Project でビルドしたところビルドエラーが発生します

フォーム1つだけの簡単なプロジェクトでは、同じ方法で成功します。

エラーメッセージは
ERROR: An error occurred while validating. HRESULT = '80070057'
です。

NuGet で以下のものを使っています。
Newtonsoft.Json
ZXing.Net
MediaCaptureWPF

Setup Project の作成方法は、
・新しいプロジェクトの追加で Visual Studio Installer の Setup Project を選択します
・Application Folder を右クリックして Add > プロジェクト出力を選択します
・プロジェクトは「プライマリ出力」、構成は「アクティブ」を選択して OK を押します
・ソリューションエクスプローラの Setup を右クリックして「ビルド」を選択します
という手順です。

前述のフォーム1コだけで成功した場合も同様な方法でインストーラの作成ができました。

同じ方法でビルドエラーになる原因がよくわからないので、ご存知の方がいらっしゃいましたら、教えていただけませんでしょうか?

解決に必要な情報がありましたら、お申し付け下さい。

よろしくお願いします。


追加ですが、ビルドエラーになるプロジェクトは参照に以下のものを追加しています
・System.Runtime.WindowsRuntime.dll
・Windows.winmd

試しに、この2つを成功したプロジェクトでも追加したところ、同様なエラーが発生しました。
System.Runtime.WindowsRuntime.dll のみの場合は成功して、Windows.winmd が入っていると失敗するところまではわかりました。

Windows.winmd が入っているとビルドエラーになる原因をご存知の方がいらっしゃいましたら、教えていただけませんでしょうか?
(見当違いでしたら失礼します)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

調査を進めた結果、無事解決しました。
以下に情報を記載しますので、もし同じような症状でお悩みの方の参考になれば幸いです。

・WPF アプリケーションで WinRT を使う場合(Windows.winmd)は、プライマリ出力で設定すると、インストーラのビルドに失敗する

解決方法は、追加時にプロジェクト出力をやめて、ビルドした .exe ファイルを直接指定する
但し、Debug 内の .exe を選択した場合は、Debug 内を参照するので注意する
(アクティブのフォルダを見てくれる方法があれば教えてください)

.exe ファイルを直接指定すると、必要な .dll ファイル群も一緒に追加されるので、そのままビルドすることで無事 .msi ファイルを作成することができます。

もし、x64 でビルドした場合 x86 関連のエラーが発生する場合は、インストーラプロジェクトの TargetPlatform が x86 のままでないか確認する

参考になれば幸いです

投稿2017/05/18 11:06

pectin

総合スコア95

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問