Hebikuzure's Tech Memo

2010年10月30日

基本認証の HTTP サーバーから Office ドキュメントを開けない

Filed under: Microsoft Office — hebikuzure @ 11:03 PM

MSKB 212563
You cannot open Office file types directly from a server that supports only Basic authentication over a non-SSL connection
http://support.microsoft.com/kb/2123563/en-us


Web サーバーに Office ドキュメントを置いてクライアントの Office アプリケーションで開く、というシステムはイントラネットでよく見られる。またドキュメントを閲覧したり編集したりできるユーザーを限定するため、HTTP サーバーに基本認証をかけている場合もあるだろう。
ところがこうしたシステムで今まで使っていた Office 2003 (またはそれ以前のバージョン) をOffice 2007 または Office 2010 にアップグレードすると、Web サーバー上の Office ドキュメントを開くのに失敗してしまうようになる場合がある。Office ドキュメントへのリンクをクリックしても何も起こらなかったり、あるいはドキュメントを開くアプリケーションは起動するのにドキュメントが表示されない、などの現象が起きる。
この現象はいくつかの原因が重なっているのだが、根本的にはセキュリティーの強化によって発生している。これについて解説しているのが上記のサポート技術情報 212563 だ。

まず Office アプリケーションが Web サーバーから直接ドキュメントを開く場合の挙動が Office 2003 以前と Office 2007 以降では変わっている。Office 2003 まででは Web サーバー上のドキュメントを開く際、Office のコンポーネント (MSDAIPP : Microsoft Data Access Internet Publishing Provider) のみを使って Web サーバーにアクセスしていたが、Office 2007 以降ではこれに加えて Windows のコンポーネント (WebCleint サービス) も利用するように仕様が変更されている。

さて現在サポートされているバージョンの Windows の WebClient サービスでは、セキュリティー上の理由で HTTP 接続での基本認証 (Basic 認証) が無効になっている。これは基本認証では資格情報 (ユーザー名とパスワード) が平文で送信されるので、通信自体も暗号化されない HTTP 接続では資格情報が容易に盗聴されるからだ。(関連情報 : マイクロソフト サポート技術情報 841215)
そのため Office 2003 以前のバージョンから Office 2007 以降のバージョンにアップグレードすると、基本認証のかかった HTTP サーバーからドキュメントを開くことができなくなる。
また Office 2010 では Office のコンポーネントでも同様の理由で HTTP 接続での基本認証が無効になっている。そのため Office 2010 では Windows の WebClient サービスだけでなく、Office コンポーネントについても HTTP 接続での基本認証を有効にしなければならない。

つまり Office のバージョンによって以下の作業が必要になる。

  • Office 2007 の場合 : Windows の WebClient サービスで HTTP 接続の基本認証を有効にする
  • Office 2010 の場合 : Windows の WebClient サービスで HTTP 接続の基本認証を有効にする + Office の HTTP 接続の基本認証を有効にする

技術情報に記載されているように、Windows の WebClient で HTTP 接続の基本認証を有効にする方法、Office 2010 で HTTP 接続の基本認証を有効にする方法はそれぞれ以下の通りだ。

WebClient サービスで HTTP 接続の基本認証を有効にする

以下のレジストリ値を作成し、Windows を再起動する。

  • Windows XP / Windows Server 2003

キー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
名前 : UseBasicAuth
種類 : REG_DWORD
データ : 1 (0 にすると HTTP 接続の基本認証は無効)

  • Windows Vista / Windows 7

キー : HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\WebClient\Parameters
名前 : BasicAuthLevel
種類 : REG_DWORD
データ : 2 (0 にすると HTTP/HTTPS 共に基本認証無効、1 にすると HTTPS で基本認証有効、2 にすると HTTP/HTTPS 共に基本認証有効)

Office 2010 で HTTP 接続の基本認証を有効にする

以下のレジストリ値を作成し、Windows を再起動する。

キー : HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Common\Internet
名前 : BasicAuthLevel
種類 : REG_DWORD
データ : 2 (0 にすると HTTP/HTTPS 共に基本認証無効、1 にすると HTTPS で基本認証有効、2 にすると HTTP/HTTPS 共に基本認証有効)

いずれもレジストリを編集する事になるので、レジストリのバックアップの作成を行った上で、慎重に作業する必要があるのを忘れずに。

広告

2010年10月27日

未フォーマット ボリュームをマウントしてフォーマットすると誤ったボリュームがフォーマットされる

Filed under: Windows トラブル — hebikuzure @ 8:29 PM

MSKB 2360987
FIX: The wrong volume is formatted when a raw volume is mounted on an NTFS folder on a computer that is running Windows Server 2008 R2 or Windows 7
http://support.microsoft.com/kb/2360987/en-us


NTFS 形式のディスクでは、ボリューム (ドライブ) 内のフォルダーを作成してそのフォルダーに別のボリューム (ドライブ) をマウントし、あたかも一つのドライブであるかのように扱う機能がある。ところが Windows 7 でこの機能を使って未フォーマットのボリュームをマウントしてフォーマットすると、マウントした未フォーマットのボリュームではなくマウント先のボリュームがフォーマットされてしまうというかなり致命的な不具合がある。
この不具合と、それに対する修正プログラムの情報が上記のサポート技術情報 2360987 に記載されている。

記載されている問題が発生する操作は以下の通りだ。

  1. Windows 7 または Windows Server 2008 R2 で NTFS ボリュームに新しいフォルダーを作成する
  2. 別のボリュームを接続するためにマウント ポイントまたはリバース (再解析) ポイントにする
  3. 未フォーマットのボリュームを上記のフォルダーにマウントする

この操作を行うと、ボリュームをフォーマットするよう促すダイアログが表示される。ここで [フォーマット] を選択すると、正しくないボリュームがフォーマットされる。
例えば E:\mount フォルダーに未フォーマットのボリュームをマウントした場合、マウントしたボリュームではなく E ドライブがフォーマットされてしまう。

原因は Shell32.dll に含まれるディスク フォーマットの機能がマウント ポイントに配慮していないためで、問題が起きないようにするには修正プログラムの適用が必要になる。
修正プログラムは技術情報の左上の方にある “View and request hotfix downloads” をクリックし、リクエストを送信すれば入手できる。

もちろんボリュームをマウントする前にフォーマットしておく方法でも現象を回避する事は可能だ。

2010年10月22日

Internet Explorer Cookbook (11)

Filed under: IE9 Cookbook — hebikuzure @ 11:10 PM

これで「Internet Explorer 9 Cookbook」の “Application Development Guidelines and Tools for Internet Explorer 9”  も終わりです。

翻訳については Microsoft Corporation およびマイクロソフト株式会社とは無関係に hebikuzure が公開情報に基づき独自に行ったものであり、この文書の内容についての文責は公開者である hebikuzure にあります。翻訳の内容および技術的内容については正確を期すよう十分な注意を払っておりますが、誤りや不正確な部分が含まれている可能性がありますので、本文書を利用される際には原文も併せてご確認ください。


Internet Explorer 9 Cookbook > Application Development Guidelines and Tools for Internet Explorer 9

機能とビヘイビアーの検知を利用する

[このドキュメントは速報を目的としており、変更される可能性があります]

影響を受けるInternet Explorer ドキュメント モード

  • IE9 標準 | IE8 標準| IE7 標準 | Quirks

詳細

Windows Internet Explorer には多くのバージョンが存在するため、クロス ブラウザーのためのベスト プラクティスを採用すべきです。多くの Web ページにはさまざまなブラウザーのために、異なるブラウザーごとにどのようなコードが実行でき、ページがどのように実行されるのかを確認するメタのテストが含まれています。

Windows Internet Explorer 9 はブラウザー間の相違の影響を軽減し、ブラウザー相互に同じマークアップを使えるようにします。同じマークアップを使うには、それぞれのブラウザーが “ちゃんと動作する” 同じ HTML や JavaScript、CSS のコードを作るための正しい機能をサポートしている必要があり、またそうした機能が利用できるか適切に検出して利用する必要があります。この記事ではブラウザー間の相違に確実に対応できるコードを記述するための、機能とビヘイビアーの検知の利用方法について解説します。

ガイドライン

以下の節で、Web ページをどのブラウザーでも互換性があるようにするために、検知のために取るべき方法と取るべきでない方法について説明しています。

推奨する方法:

エラーの根源をより確実に検知するために以下の検知方法を利用し、Web ページをどのブラウザーにも互換性があるようにします:

  • 機能の検知: 機能を利用する前に、ブラウザーがその機能をサポートしているかテストします。機能の検知により、全てのブラウザーについてどのような機能があるか事前に知らなくとも、ブラウザー相互で “ちゃんと動作する” コードが可能になります。例えば jQuery フレームワークはほぼ全面的に機能の検知に依存しています。Web サイト上で jQuery の機能の検知を利用するための詳細情報は、jQuery.support のドキュメントを参照してください。
  • ビヘイビアーの検知: 既知の問題への回避策を適用する前に、問題が存在しているかテストします。jQuery は特定の回避策が必要か確認するため既知の問題についてのテストを実行する、ビヘイビアーの検知を利用しています。
取るべきでない方法:

以下のような検知の方法は避けます:

  • ブラウザーを特定する: ページの挙動を変更するためのブラウザーの識別 (例えば navigator.userAgent) を利用しないでください。特定したブラウザーごとにコード ベースを変更すれば、ページを変更する事が困難になり、また新しいブラウザーがリリースされたときにうまく動作しなくなります。別の状況として、回避策がもはや必要ではなくなっているのに、レガシーな回避策を使い続ける事になります。
  • 関連しない機能を前提にする: 一つの機能の検知結果をもとに別の機能を利用しないでください。この問題のあるサイトでは、特定の機能がサポートされている事を検知して利用するだけでなく、それ以外の機能もサポートされているかどうかに関わらず利用してしまいます。

関連情報

公開日: 2010年9月14日

2010年10月19日

Internet Explorer Cookbook (10)

Filed under: IE9 Cookbook — hebikuzure @ 12:16 PM

引き続き「Internet Explorer 9 Cookbook」の “Application Development Guidelines and Tools for Internet Explorer 9”  のパートを試訳します。

翻訳については Microsoft Corporation およびマイクロソフト株式会社とは無関係に hebikuzure が公開情報に基づき独自に行ったものであり、この文書の内容についての文責は公開者である hebikuzure にあります。翻訳の内容および技術的内容については正確を期すよう十分な注意を払っておりますが、誤りや不正確な部分が含まれている可能性がありますので、本文書を利用される際には原文も併せてご確認ください。


Internet Explorer 9 Cookbook > Application Development Guidelines and Tools for Internet Explorer 9

既存のコードをどのブラウザーでも動作するよう更新する

[このドキュメントは速報を目的としており、変更される可能性があります]

影響を受ける Internet Explorer ドキュメント モード

  • IE9 標準 | IE8 標準 | IE7 標準 | Quirks

詳細

Windows Internet Explorer 向けのアプリケーションを開発している場合、既存の Web ページへの互換性のための機能と新機能のバランスを取る必要があります。Windows Internet Explorer 8 からレガシーな実装から新しい標準への移行を容易にするためのドキュメント互換モードが搭載されています。

ガイドライン

既存の Web ページを Windows Internet Explorer 7 や Internet Explorer 8 で正しく動作させ続け、かつ Windows Internet Explorer 9 でも動作できるようにするための短期的な解決方法が必要であれば、二つの選択肢があります:

  • Internet Explorer 9 にレガシーな Internet Explorer と同様にページをレンダリングするよう強制する、互換モードの meta 要素を各 Web ページに追加します。(詳細については MDSN ライブラリーの How to Modify Each Page を参照してください)
  • 各ページが beta 要素に相当するカスタム HTTP 応答ヘッダーを送信するよう Web サーバーを構成し、自動的に互換モードにします。(詳細については How to Configure the Server to Modify Each Page Automatically を参照してください)

これらは緊急で一時的な回避策として利用すべきです。最終的には、Internet Explorer 9 やそれ以降のバージョンでは標準準拠のコードで動作し、以前の Internet Explorer ではレガシーなコードで動作するよう Web サイトを変更するべきです。

恒久的な解決方法としては、ブラウザー間の相違に適応する信頼性の高いコードを書く方法として機能とビヘイビアーの検出を利用すべきです。機能を利用する前に、その機能がブラウザーでサポートされているかどうかを検出するテストを行い、ビヘイビアーについての既知の問題への回避策を利用する前にビヘイビアーの検出テストを行います。詳細については Use Feature and Behavior Detection を参照してください。

こうした基準に従えば、Web サイトは以前のバージョンの Internet Explorer でも、Internet Explorer 9 でも、そして今後リリースされる将来のどのバージョンでも機能し続けるでしょう。

関連情報

公開日: 2010年9月14日

2010年10月18日

Internet Explorer Cookbook (9)

Filed under: IE9 Cookbook — hebikuzure @ 6:03 PM

少し間が開いてしまいましたが、「Internet Explorer 9 Cookbook」の “Features Deprecated in Internet Explorer 9”  のパートを試訳します。

翻訳については Microsoft Corporation およびマイクロソフト株式会社とは無関係に hebikuzure が公開情報に基づき独自に行ったものであり、この文書の内容についての文責は公開者である hebikuzure にあります。翻訳の内容および技術的内容については正確を期すよう十分な注意を払っておりますが、誤りや不正確な部分が含まれている可能性がありますので、本文書を利用される際には原文も併せてご確認ください。


Internet Explorer 9 Cookbook > Features Deprecated in Internet Explorer 9

いくつかの DOM イベントは非推奨になります

[このドキュメントは速報を目的としており、変更される可能性があります]

影響を受ける Internet Explorer ドキュメント モード

  • IE9 標準

機能への影響

  • 深刻度: 高 (イベントが削除された後に)
  • 発生確率: 高 (イベントが削除された後に)

詳細

Microsoft は、廃止される可能性のある機能を将来にわたり利用する事が無いよう注意喚起するため、それらの機能を非推奨にしていします:

  • 新たに標準に準拠した機能のサポートが Windows Internet Explorer 9 に追加された場合、元の機能の MSDN ドキュメントには「非推奨」と明記され、標準に基ずいた代替機能へのリンクが追加されます。
  • 機能が Web プラットフォームに関連する機能の場合、その機能が Web サイトでほとんど使われなくなるまですべてのドキュメント モードを通じてサポートされます。

以下のドキュメント オブジェクト モデル (DOM) イベントの機能は IE9 標準ドキュメント モードでは非推奨となり、次期メジャー リリースでは最新の標準モードにおいて削除される予定です。

非推奨の機能

代替となる W3C 標準

attachEvent

AddEventListener

detachEvent

removeEventListener

createEventObject

createEvent

fireEvent

dispatchEvent

公開日: 2010年9月14日

2010年10月5日

Internet Explorer Cookbook (8)

Filed under: IE9 Cookbook — hebikuzure @ 8:39 PM

これで「Internet Explorer 9 Cookbook」の “Features Changed in Internet Explorer 9”  のパートは終わり。

翻訳については Microsoft Corporation およびマイクロソフト株式会社とは無関係に hebikuzure が公開情報に基づき独自に行ったものであり、この文書の内容についての文責は公開者である hebikuzure にあります。翻訳の内容および技術的内容については正確を期すよう十分な注意を払っておりますが、誤りや不正確な部分が含まれている可能性がありますので、本文書を利用される際には原文も併せてご確認ください。


Internet Explorer 9 Cookbook > Features Changed in Internet Explorer 9

White Space はドキュメント オブジェクト モデル中で保持される

[このドキュメントは速報を目的としており、変更される可能性があります]

影響を受ける Internet Explorer ドキュメント モード 

  • IE9 標準

機能への影響 

  • 深刻度:
  • 発生確率:

詳細 

Web ページに挿入されているすべての White Space はドキュメント オブジェクト モデル (DOM) では存在しているものとして扱われます。以下のサンプル コードが Windows Internet Explorer 9 と Windows Internet Explorer 8 でどのように動作するか検討してみましょう。

<div>
    Text </div>

Internet Explorer 9:

div
        |->"\n Text "

Internet Explorer 8:

div
        |->"Text"

影響のある領域 

Internet Explorer 8 と同様の動作を希望する場合は、エレメント トラバーサル API (例えば firstElementChild) を使用します。

関連情報 

公開日: 2010年9月14日

2010年10月2日

Internet Explorer Cookbook (7)

Filed under: IE9 Cookbook — hebikuzure @ 7:27 PM

今日も「Internet Explorer 9 Cookbook」の試訳を公開する。

翻訳については Microsoft Corporation およびマイクロソフト株式会社とは無関係に hebikuzure が公開情報に基づき独自に行ったものであり、この文書の内容についての文責は公開者である hebikuzure にあります。翻訳の内容および技術的内容については正確を期すよう十分な注意を払っておりますが、誤りや不正確な部分が含まれている可能性がありますので、本文書を利用される際には原文も併せてご確認ください。


Internet Explorer 9 Cookbook > Features Changed in Internet Explorer 9

テキスト レイアウトではナチュラル メトリックスが使用されます

[このドキュメントは速報を目的としており、変更される可能性があります]

影響を受ける Internet Explorer のドキュメント モード

  • IE9 標準

機能への影響

  • 深刻度: 種々(Web ページでの機能の利用方法に依存)
  • 発生確率:

詳細

IE9 標準モードでのテキスト レイアウトにおいて、Windows Internet Explorer 9 は他の Microsoft Windows ブラウザーが使用しているグラフィック デバイス インターフェイス (GDI) メトリックスではなく、ナチュラル メトリックスを使用します。GDI メトリックスではテキストをピクセルの境界に整列させますが、ナチュラル メトリックスではピクセル間の空間も利用し、より正確なレンダリングと読みやすいテキストを生成します。

Windows Internet Explorer のそれ以外のドキュメント モードでは、引き続き GDI メトリックスを使用します。

影響のある領域

以前のドキュメント モードに合わせて書かれたページ レイアウトは Internet Explorer 9 で正確に表示されません。最も一般的な問題は予期しないテキストの折り返しです。それにより折り返されたテキストのすぐ下にある要素が覆われてしまいます。この問題は、テキスト ボックスに余裕のある高さが無い場合や、テキスト ボックスのサイズが例えばグラフィックスのような、ページ内の他の要素に結合されている場合によく発生します。

ガイドライン

ユーザーは (例えば 125% にするなど) より大きなフォント表示にすることもできるので、特定のフォントの表示サイズが異なるブラウザー間で、あるいは同じブラウザー同市であっても、常に一定であると想定しないでください。

推奨事項

Web ページのテキスト レイアウトの表示が一定であるようにするため、以下のデザイン ガイドラインを利用してください:

  • テキスト ボックスのサイズをピクセル数で指定する
  • テキスト ボックスの余裕分のスペースを持たせ、きっちり詰めないようにする
  • 非静的なテキスト ボックスのサイズ指定を利用する
  • 他のページ内の要素に依存する境界領域には余裕分のスペースを含める
  • ユーザーにページのフォント サイズの変更を許可するのであれば、ページをテキストの折り返しに対応させる
  • すべての一般的なブラウザーで Web ページをテストする。もしテキストの折り返しで問題が起きるなら、ページがテキストを適切に表示するよう調節する。
  • Web ページを以前のモード向けにデザインしており、それをナチュラル メトリックスに対応するよう更新したくない場合は、ユーザーが Internet Explorer 9 で表示する際にそのモードでページが表示されるように設定する

避けるべき事

テキストのレイアウトで以下のデザインは避ける:

  • 異なるブラウザー間で同じように表示させるためにフォントのサイズに依存する
  • 静的なサイズのテキスト ボックスを使用する

関連情報

公開日: 2010年9月14日

2010年10月1日

「Windows 7 で Media Center の設定をすると毎日決まった時間にコンピューターが意図せず起動する」問題の Fix it

Filed under: Windows トラブル — hebikuzure @ 3:18 PM

以前に「Windows 7 で Media Center の設定をすると毎日決まった時間にコンピューターが意図せず起動する」という記事を掲載して、マイクロソフト サポート技術情報 979878 「Windows 7 ベースのコンピューターが予期せず毎日特定の時刻にスリープ状態から復帰する」に記載されている現象について解説した。

その際にこの問題の回避方法の手順がちょっと面倒なので Fix it が提供される事を望むと書いたのだが、技術情報が更新されて Fix it がリリースされている事を確認した。
Fix it が提供されている
当該の問題が発生している場合は、この Fix it を試すと良いだろう。

WordPress.com Blog.

%d人のブロガーが「いいね」をつけました。