[Information] Visual SourceSafe 単体ライセンス提供終了のお知らせ

Visual Studio サポート チームのタカハシです。 この記事では、Visual SourceSafe 2005 の単体ライセンス提供終了と Team Foundation Server の移行についてご案内いたします。   [お知らせ] 2011年12月末日をもって、Visual SourceSafe 2005 (以下、VSS 2005)の単体ライセンスの提供を終了いたします。 VSS 2005 の主要機能であるバージョン管理機能は、後継製品であるVisual Studio Team Foundation Server(以下、TFS) に含まれています。TFSは、VSS 2005 の機能に加え、よりチーム開発の生産性を向上する多くの機能が搭載されており、総合的なプロジェクト管理システムや、アプリケーション ライフサイクル管理(ALM)を導入することができます。今後、新規で VSS 2005 の導入検討をされている方は、後継製品の TFS をご選択いただけると幸いです。なお、VSS 2005 の追加ライセンスは、今後 MSDN Subscription の特典のみで提供は継続されます。 TFS への移行をご検討の方は、次の情報をご確認ください。 [Team Foundation Server ご紹介資料] 以下の資料では、TFS 2010 の紹介を VSS 2005 との比較をご案内しています。 Microsoft Visual Studio:一歩先を行くバージョン管理…


[MSI Trouble Shoot] 64 ビットのマネージ カスタム動作から System.BadImageFormatException 例外がスローされる

こんにちは、Visual Studio サポートチームのオオカワです。今日は、Visual Studio のセットアップ プロジェクトで 64bit のカスタム動作を追加した際に、BadImageFormatException がスローされてインストールが正常に完了しないという案件について、対処方法をご案内いたします。 事象 セットアップ プロジェクトに 64 ビットのマネージ カスタム動作を追加した。インストール作業の途中で、64 ビットのマネージ カスタム動作を実行するときに、BadImageFormatException 例外が発生する。 原因 Visual Studio のセットアッププロジェクトは、マネージ カスタム動作 DLL が 32bit 版でも 64bit 版でも、32bit 版の InstallUtilLib.dll をインストーラーに組み込みます。このため、カスタム動作の実行時に64bit 版のカスタム動作を実行しようとしているにもかかわらず 32bit 版の .NET Framework が読み込まれ、結果として例外が発生します。 対処策 InstallUtilLib.dll を手動で 64bit 版に差し替える必要があります。 事前準備 Windows SDK に付属している Orca エディタをインストールします。当該ツールのインストーラーは、たとえば Visual Studio 2010 がインストールされた環境であれば、”Program Files” ディレクトリ配下の…


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


[Step by Step Guide] MSI 詳細ログからエラーの原因を特定する例

Visual Studio サポート チームのオオカワです。 この記事では、「MSI ファイルをインストール時にエラーが発生する場合のログ採取方法」の記事で取り上げたシナリオで MSI 詳細ログを取得したとして、解析はどのように行ったらよいかを流れを追ってご説明いたします。まずはシナリオのおさらいから。 [シナリオ] Visual Studio 2005 でインストーラーを作成した。このインストーラーではカスタム動作を使っている。Windows XP まででは正常にインストールできていたのだが、Windows Vista 以降、インストールに失敗している。この原因を追究したい。 それでは、秘伝の(?)トラブルシュート、ご覧ください! [手順] 1. ログを開き、「戻り値 3」を探す MSI 詳細ログにおいて、致命的なエラーが発生した場合には、ログに「戻り値 3」が残ります。 まずはこの値をログから探していきましょう。 MSI (s) (34:30) [05:30:37:135]: Leaked MSIHANDLE (12) of type 790531 for thread 7552 MSI (s) (34:30) [05:30:37:151]: Note: 1: 2769 2: _E63CD636_00E8_493B_86CE_F277981FD258.install 3: 1 MSI (s) (34:30) [05:30:37:151]: Note:…


[便利なツール] WiLogutil (MSI ログビューワー) について

Visual Studio サポート チームのオオカワです。 先ほどは、MSI 詳細ログについての記事を投稿させていただきましたが、さっそく多数の方にご覧いただいております!ありがとうございます!先ほどの記事では、まずはログを取って内容を見てみましょう、というお話を差し上げました。でも、シナリオベースの続編を書いていて思ったのですが、MSI 詳細ログって情報がたくさん取れすぎていて、ちょっと読みにくいのですよね。 そんなときの救世主、ちょっと便利な MSI ログ ビューワーが Windows SDK に含まれておりますのでこちらを取り急ぎご紹介させていただきます! 下準備 当該ツールは、Windows SDK に含まれております。まずは以下のリンクから WIndows SDK をご導入ください。 Microsoft Windows SDK for Windows 7 and .NET Framework 4 http://www.microsoft.com/downloads/en/details.aspx?FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b&displaylang=en ツールのありか 既定の設定でインストールを行った場合、以下のパスに当該ツールはインストールされています。 C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\WiLogutil.exe ではでは、さっそく起動してみましょう! こんな感じの、淡白な画面がでてまいります。見かけは淡白ですが、意外と便利に使えます! 簡単な使い方 開いた画面の [Browse] ボタンをクリックし、OpenFileDialog より、開きたいログファイルを選択します。そしておもむろに [Analyze] ボタンをぽちっとな…、とすると、以下のような画面が開きます。 [Possible Solutions] の部分を見てください!もう、インストールに失敗した理由は一目瞭然ですね!!こんな感じで、簡単なエラーであればボタン一つで原因究明までしてくれることもあるんです。 でも、そうも行かないときもあります…。(弊社にお問い合わせいただくような案件は大概 Analyze だけではわからない難易度の高いお問い合わせです。) そんな時には、先ほどの画面の [HTML Log]…


[How to] MSI ファイルをインストール時にエラーが発生する場合のログ採取方法

Visual Studio サポート チームのオオカワです。 本日は、簡単な Tips として、MSI ファイルをインストールする際に、何かエラーが出てうまくいかない、という場合に有用なログの採取方法についてお知らせいたします。 Windows インストーラーのログの記録を有効にする方法 レジストリの設定を手動で行う方法 Windows インストーラーのログの記録を有効にするには、Regedit.exe を使用して、レジストリを開き、次のパスとキーを作成します。(既定でキーが存在していればキーの追加は不要です) 値は Installer キーを右クリックして、[新規作成] – [文字列値] を選択して以下の名前、値で作成します。 HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Installer 名前 : Logging データ型 : 文字列値 値 : voicewarmupx 値フィールドの文字は、どのような順番でもかまいません。各文字は、異なるログ記録モードを有効にします。各文字の実際の機能は、MSI 1.1 では次のようになります。 v – 詳細出力 o – ディスク領域不足メッセージ i – 状態メッセージ c – UI パラメーターの初期値 e – すべてのエラー メッセージ w – 致命的ではない警告 a –…


[ClickOnce Tips] アプリケーションの発行後に、アプリケーション設定ファイルの内容を編集するには

こんにちは、Visual Studio サポートチームのオオカワです。 書き溜めていながらも、公開できていなかった記事を今週は一挙公開していこうかと思います! 今回は、Web サービスと通信するような ClickOnce アプリケーションの実装で、しばしば起こる運用についてまとめてみました。 [シナリオ] 以下のような ClickOnce アプリケーション開発のシナリオを仮定します。 ・テスト用サーバーと、本番用サーバーで、Web サービスのエンドポイント URL が異なるため、アプリケーション設定ファイル (app.config) でエンドポイントの切り替えを行う ・テストに使ったバイナリ一式をそのまま本番用サーバーで利用したい(再発行は行いたくない)   [よくあるトラブル] アプリケーション設定ファイルに記載されたエンドポイントの URL を書き換えたあと、以下のエラーが発生してアプリケーションが起動できない。 エラーの詳細 この操作中に次のエラーが検出されました。 * [2011/04/07 22:25:42] System.Deployment.Application.InvalidDeploymentException (HashValidation) – ファイル SampleApp.exe.config は、マニフェストで指定されているものとは異なる処理されたハッシュを持っています。   [原因] アプリケーション マニフェストには、アプリケーション設定ファイルのハッシュ値ならびにサイズが含まれています。 一方、エンドポイント URL の変更により、アプリケーション設定ファイルのハッシュ値ならびにサイズは変わります。 ここで、マニフェストの情報とファイルの実体の情報の不整合が生じ、これを ClickOnce ローダーが検出することでアプリケーションの起動がブロックされます。   [対処策] アプリケーション マニフェストに含まれる、アプリケーション設定ファイルのハッシュ値ならびにサイズを、手動で明示的に更新する必要があります。 但し、アプリケーション マニフェストは通常署名されておりますので、更新後にはさらに再署名を行う必要があります。 そのためには、弊社 SDK ツールに含まれる、mage.exe ならびに…


Windows Sysinternals TechCenter

みなさんこんばんは、Visual Studio サポートチームのオオカワです。 つい先日、サポート チームでも問題の初期切り分けなどでよく利用するツール群を利用した、よくあるシナリオを題材としたトラブル解析方法の情報がまとまったサイトが弊社 TechNet に公開されたので、今日はそれについてご紹介したいと思います。 Windows Sysinternals TechCenter http://technet.microsoft.com/ja-jp/sysinternals/default 「プログラムの起動が遅い」とか、「プログラムが起動できない」といった事例の対処策は、ほかの場合にも応用が利くのではないかと思います。是非ご覧になってみてください。 ちなみに、オオカワは Sysinternals のなかでは Process Monitor が大好きでよく使います。アプリケーションがおかしなファイルにアクセスしているのがトラブルの原因のようだ…とか、レジストリにおかしな値が書き込まれているようだ…とか、そういったトラブルシュートをするときに、プログラムを実際に動かしながら Process Monitor でログを取ってみるんです。そうすると、だんだん怪しいところが浮かび上がってきます。トラブルの解析方法としては泥臭い、簡単な部類に入るツールですが、意外と強力ですよ! 最近、他サイトのリンクご案内に終始していた当ブログですが、そろそろトラブルシュート系のネタをばばんと放出しようかなぁ…と思っています。…が、今日はこんな時間ですのでおやすみなさい!次回更新ご期待くださいませ! ==== Visual Studio サポート チーム オオカワ ====