Visual Studio 2017 で Visual C++ ”14” ランタイム ライブラリをインストーラーに含めた場合に発生する問題について (2)

こんにちは、Visual Studio サポート チームです。 今回は、先日ご案内した以下の記事に関連して、新しいバージョンのVisual C++ ランタイム ライブラリをご利用される際に発生する可能性がある問題とその対処方法をご案内いたします。   Visual Studio 2017 で Visual C++ “14” ランタイム ライブラリをインストーラーに含めた場合に発生する問題について https://blogs.msdn.microsoft.com/jpvsblog/2017/06/22/vs2017-vc14-installer/   現象 作成したパッケージに含まれる Visual C++ “14” ランタイム ライブラリよりも、さらに新しいバージョンの Visual C++ “14” ランタイム ライブラリが既にインストールされているにもかかわらず、インストーラーの実行時にランタイム ライブラリのインストールが求められる。   原因 Visual C++ ランタイム ライブラリ用の Product.xml では、対象の製品がインストールされているかどうかの検証に Product Code を使用します。 この検証では、対象の Product Code の製品がインストールされているかどうかを調べますが、Visual C++ ランタイム ライブラリはアップデートごとに新しい Product Code を採番しているため、インストール対象のランタイム ライブラリよりも新しいバージョンのライブラリが既にインストールされていたとしても、それらは検出されないため、ライブラリのインストールが必要と判断される動作となります。…


Visual Studio 2017 で Visual C++ “14” ランタイム ライブラリをインストーラーに含めた場合に発生する問題について

こんにちは、Visual Studio サポート チームです。 今回は Microsoft Visual Studio 2017 に含まれる Visual C++ “14” ランタイム ライブラリを必須コンポーネントに含めてインストーラーを作成する場合に発生する可能性がある問題と対処方法をご案内いたします。 <2017 年 7 月 4 日追記> Product.xml に指定する Product 属性の内容につきましては、Visual Studio 2017 RTMに対する値でのご案内となっております。 ダウンロード ページから入手していただける最新の Visual C++ 2017 Redistributable のバージョンに対する Product 属性の値につきましては、現在正しい値を確認中です。 確認の結果が得られ次第この記事にてご案内いたしますので、大変恐れ入りますが今しばらくお待ちください。 <2017 年 7 月11 日修正> Visual C++ “14” ランタイム ライブラリのインストーラーの入手先に関する記述を修正しました。   現象 a) [アプリケーションと同じ場所から必須コンポーネントをダウンロードする] を指定して Visual C++…


EV コード署名証明書を使用したClickOnce アプリケーションのマニフェスト署名について

こんにちは。Visual Studio サポート チームです。 今回は EV コード署名証明書を使用して ClickOnce アプリケーションにマニフェスト署名を行う際に、ご注意いただきたい事項をご案内します。 コード署名証明書を使用し、ClickOnceアプリケーションにマニフェスト署名した場合、アプリケーションの配布や実行時に「発行元」を表示し、「改ざんがされていない正規品」であることをユーザーに明示することが可能となります。 その際に使用する証明書は、大きく分けて通常のコード署名証明書と EV コード署名証明書の 2 種類があります。 EV コード署名証明書は、証明書を発行する認証局による審査に高い基準があり、また、署名時に二要素認証を求められるなど、通常の証明書と比べてより信頼性が高いものとなります。 EV コード署名証明書を使用して、ClickOnceアプリケーションに署名し、ユーザーに署名したアプリケーションを配布するためには、以下の要件を満たす必要があります。     ClickOnce アプリケーションの開発環境の要件 マニフェスト署名のため、EV コード署名証明書に対応したバージョンである、Visual Studio 2015 以降のバージョンをご利用頂く必要があります。 ClickOnce アプリケーションをインストールする環境の要件  マニフェスト署名の検証のため、.NET Framework 4.6 以降のバージョンを事前にインストールしていただく必要があります。     ClickOnceアプリケーションのマニフェスト署名  Visual Studio 2015以上のバージョンではEVコード署名証明書を使用したアプリケーションの署名に対応しています。 そのため、EVコード署名証明書を使用し、アプリケーションに署名をする際には、Visual Studio 2015をご利用ください。 なお、Visual Studio 2013 以前のバージョンで、EVコード署名証明書を使用して、アプリケーションに署名をした場合には、ビルドと発行は正常に終了しますが、実際には署名が正常に完了していないため、ClickOnceアプリケーション起動時のダイアログに表示される発行元は “不明な公開元” として表示されます。     ClickOnceアプリケーションの実行 ClickOnceアプリケーションの実行時に、EVコード署名証明書を使用した署名を検証するためには、.NET Framework 4.6以上のバージョンが予め、実行環境にインストールされている必要があります。…


.NET Framework 4.6.2 用のブートストラップ (setup.exe) の問題

こんにちは、Visual Studio サポートチームです。 今回は、.NET Framework 4.6.2 を必須コンポーネントに含むブートストラップ (Setup.exe) を作成する際に生じる問題と、その対処方法についてご案内します。   .NET Framework 4.6.2 用ブートストラップ パッケージ 開発したアプリケーションを .NET Framework 4.6.2 とともに配布するため、.NET Framework 4.6.2 を必須コンポーネントとして含めたブートストラップ (setup.exe) を作成したいことがあります。 そのようなブートストラップを開発するためには、.NET Framework 4.6.2 用のブートストラップ パッケージを使用します。 .NET Framework 4.6.2 用のブートストラップ パッケージは、.NET Framework 4.6.2 Developer Pack に含まれており、Developer Packは、以下のダウンロードサイトから入手することができます。   Windows 7 SP1、Windows 8.1、Windows 10、Windows Server 2008 R2 SP1、Windows Server 2012、Windows Server 2012…


.NET Framework アプリケーションの NSA Suite B 対応について

(2015.09.04 追記) 本記事でご案内をしている内容は、弊社製品のうち、Visual Studio や .NET Framework といった開発ツールが対象となります。 Windows プラットフォームとしての対応については、以下をご参照ください。   [IT 管理者向け] SHA-1 からの移行を推奨しています http://blogs.technet.com/b/jpsecurity/archive/2014/10/15/sha1-migration.aspx SHA1 Deprecation Policy http://blogs.technet.com/b/pki/archive/2013/11/12/sha1-deprecation-policy.aspx —-     こんにちは、Visual Studio サポート チームです。 今回は .NET Framework アプリケーションの NSA Suite B 対応について取り上げます。 ※本ブログの内容は本ブログ発行日時点での見解です。本社開発部門ともディスカッションした内容をもとに記載してはおりますが、将来変更の生じる可能性を含んでいます。将来、このブログに記載されている内容が実現されなかったり、別の形となる可能性もあります。 Suite B とは、米国国家安全保障局 (NSA) によって承認を受けた暗号化アルゴリズム群で、ソフトウェア暗号化の暗号化標準を確立する一般公開されたアルゴリズムのセットです。この中には、セキュア ハッシュ アルゴリズムとして SHA-2 (SHA-256 など) が含まれますが、これまで広く使われていた SHA-1 は含まれていません。 Microsoft では 情報セキュリティの確保と Suite B への対応のため、2016…


ClickOnceアプリケーションをブラウザに読み込んだ HTML 上のスクリプトから起動する際のIEの設定について

こんにちは、Visual Studioサポートチームです。 今回はClickOnceアプリケ―ションをブラウザに読み込んだ HTML 上のスクリプトから起動する際のIEの設定についてをご紹介します。 IEを介して、ブラウザに読み込んだ HTML 上のスクリプト (以下 スクリプト) でClickOnceを実行する際に、ClickOnceアプリケーションが配置されているWebサイトがIEのセキュリティ設定によっては、 スクリプトから ClickOnceアプリケーションを起動できない場合があります。 これは、IEのゾーン セキュリティ設定で “インターネット”, “信頼済みサイト” では、[ファイルのダウンロード時に自動的にダイアログを表示] の設定が既定で “無効にする” と設定されているためとなります。 この [ファイルのダウンロード時に自動的にダイアログを表示] が “無効にする” に設定されている場合、IEはClickOnceアプリケーションのプログラムから起動をブロックし、ダウンロードを開始することができなくなります。 この詳細は、以下のMSDNページにも記載されています。 ClickOnce 配置でのサーバーおよびクライアント構成の問題 – ブラウザー スクリプトによる ClickOnce アプリケーションのアクティブ化 http://msdn.microsoft.com/ja-jp/library/vstudio/ms228998(v=vs.110).aspx そのため、“インターネット” または、“信頼済みサイト” に設定した Webサイトにホストされた ClickOnceアプリケーションを スクリプトで起動する場合には、IE の [ファイルのダウンロード時に自動的にダイアログを表示]を “有効にする” に設定しなければなりません。 このIEのオプションについては、IE 6以降に追加されたセキュリティ ゾーンの設定であり、IE 8までは [インターネット オプション] – [セキュリティ] タブ –…


Windows 8 でインターネット ゾーンの ClickOnce アプリケーションを実行する場合の SmartScreen 動作について

  Windows 8 でインターネット ゾーンの ClickOnce アプリケーションを実行する場合の SmartScreen 動作について Windows 8 では、システムレベルでセキュリティ強化のための SmartScreen と呼ばれる機能が動作しています。 SmartScreen は、Windows 8 より前の OS では Internet Explorer の機能として実装されていましたが、Windows 8 からはOS システムレベルで導入されました。 SmartScreen に関する情報については、以下のドキュメントをご確認ください。 ウイルスを検出して削除する方法 http://windows.microsoft.com/ja-jp/windows-8/windows-defender#1TC=t1     SmartScreen の表示内容 Windows 8 では、SmartScreen 機能は既定で有効となっていますが、この状態でインターネットゾーンの ClickOnce アプリケーションを実行すると、SmartScreen により以下のような表示によって注意が促される場合があります。   ClickOnce アプリケーションが、従来の OS と同様の開発方法で適切に実装および公開されている場合でも、上記画面が表示される場合がありますので、この記事では、上記画面が表示された場合に、実行するユーザー様にご確認いただきたい点と、開発者様への参考情報をご案内します。     ユーザー様へのご案内 : 実行時に SmartScreen 画面が表示された場合の手順 1) 開発元が十分に信頼できる…


ClickOnce 起動時のエラーについて

こんにちは!日本マイクロソフトのオオカワです。 本日は、ClickOnce アプリケーションの起動時に表示されるエラーメッセージのうち代表的なものの簡単な解説と、その他エラーメッセージごとのトラブルシュートに有用なドキュメントをお知らせいたします。 代表的なエラー例 “アプリケーションを取得できません。デプロイメントにファイルがありません” または “アプリケーションのダウンロードが中断されました。ネットワーク エラーがないかどうかを確認してからもう一度やり直してください。” というメッセージを示すエラー ダイアログが表示される このメッセージは、ClickOnce のマニフェストによって参照される 1 つ以上のファイルをダウンロードできないことを示します。このエラーが表示された場合には、ClickOnce でダウンロードできないと表示された URL を直接 Web ブラウザーからダウンロードを試みて、それでもダウンロードに失敗するかを確認します。 これにより、サーバー側からクライアントへのネットワーク経路に問題があるのか、それともローカルの ClickOnce ローダーに起因する問題なのか、大まかに切り分けていくことができます。 “アプリケーションは正しくフォーマットされていません。” というエラー メッセージが表示され、ログ ファイルには “XML 署名は無効です” と示されている このメッセージは、ClickOnce アプリケーションのマニフェストファイルが、署名された後に変更されていることを示します。たとえば、設定ファイルの差し替えなどでマニフェストファイルに手を加えることになった場合には、Visual Studio もしくは mage.exe にて、改めてファイルを署名していただければ幸いです。 エラーとその対処策が記載されたドキュメントについて ClickOnce の起動エラーは、その他多岐にわたりますが、その中でも、お客様に自己解決していただきやすいようなメッセージと、その対処策については、弊社サポート技術情報にまとめて記載がございます。是非、こちらのドキュメントもご参考の上、トラブルシュートのお役にたてていただければ幸いです。 ClickOnce 配置の固有のエラーのトラブルシューティング http://msdn.microsoft.com/ja-jp/library/ms229001


ClickOnce ログの詳細度の変更方法について

こんにちは!日本マイクロソフトのオオカワです。 本日は、ClickOnce ログの出力レベルを詳細化する方法についてご紹介しようと思います。 対象とするシナリオ 以下のようなシナリオで、当該ログを有効化していただくと、エラーの調査に当たり有用なログとなるかと存じます。 ClickOnce アプリケーションを起動するときに、不定期にエラーが発生する状況がエンドユーザー様環境で発生しており、現象発生時のログの取得が困難 通常表示される ClickOnce ログからは、原因の追究が困難 設定方法 ログを有効化する環境でレジストリ エディタ (regedit.exe) を起動いただき、以下の手順でログを有効化ください。 Regedit.exe を起動します。 HKEY_CURRENT_USER\Software\Classes\Software\Microsoft\Windows\CurrentVersion\Deployment ノードまで移動します。 必要に応じて、LogVerbosityLevel という名前の新しい文字列値を作成します。 LogVerbosityLevel の値を 1 に設定します。 注意事項 レジストリ エディタの誤った使用は、システム全般に渡る重大な問題を引き起こす可能性があります。 弊社では、レジストリ エディタを使用することによって引き起こされた障害の解決については、一切保証しておりません。 レジストリ エディタを使用する場合には、お客様の責任において、十分にご注意の上でご利用ください。 対象とする .NET Framework 本機能は、.NET Framework 4 以上のバージョンの .NET Framework にて有効です。 参考記事 方法: ClickOnce 配置用の詳細ログ ファイルを指定する http://msdn.microsoft.com/ja-jp/library/dd996997.aspx


ClickOnce カスタム ログの設定について

こんにちは!日本マイクロソフトのオオカワです。 本日は、ClickOnce 起動時のトラブルシュートに有用な、カスタム ログの設定方法についてご紹介しようと思います。 対象とするシナリオ 以下のようなシナリオで、当該ログを有効化していただくと、エラーの調査に当たり有用なログとなるかと存じます。 ClickOnce アプリケーションを起動するときに、不定期にエラーが発生する状況がエンドユーザー様環境で発生しており、現象発生時のログの取得が困難 万が一エラーが発生した時のログを確実に保全しておきたい 設定方法 ログを有効化する環境でレジストリ エディタ (regedit.exe) を起動いただき、以下の手順でログを有効化ください。 Regedit.exe を起動します。 HKCU\Software\Classes\Software\Microsoft\Windows\CurrentVersion\Deployment ノードまで移動します。 LogFilePath 文字列値を、使用するカスタム ログの場所の完全パスとファイル名に設定します。 この場所は、ユーザーが書き込みアクセス権を持つディレクトリ内であることが必要です。たとえば、Windows Vista では、次のフォルダー構造を作成し、LogFilePath を C:\Users\<ユーザー名>\Documents\Logs\ClickOnce\installation.log に設定します。 注意事項 レジストリ エディタの誤った使用は、システム全般に渡る重大な問題を引き起こす可能性があります。 弊社では、レジストリ エディタを使用することによって引き起こされた障害の解決については、一切保証しておりません。 レジストリ エディタを使用する場合には、お客様の責任において、十分にご注意の上でご利用ください。 参考記事 方法 : ClickOnce 配置エラー用にカスタム ログ ファイルの場所を設定する http://msdn.microsoft.com/ja-jp/library/ms404265.aspx