2008/9/12 金曜日

CHIZTEKのIE8 Beta2対応について。

カテゴリー: CHIZTEKを使う, お知らせ, 技術情報 — chiztek-team @ 17:39:18

相変わらず暑くなったり涼しくなったりですが、いかがお過ごしでしょうか?
「CHIZTEK(チズテク) 手描き地図検索」の開発チームです。

さて、Internet Explorer8 Beta2がリリースされ、いよいよ次世代IEの全貌が見えてきた様子ですが、「対応しなければならないブラウザ」が増えてしまうのは頭の痛いところです。

ということで、弊社のCHIZTEKもIE8 Beta2で動作確認してみたところ…、上手く動きません!!
どうやらVirtual Earth自体が上手く動いていない様子です。
(描いた図形が表示されないのです。z-orderの問題?)
Live Search Mapsは動いているのになぜ…?

早速Live Mapsのソースを調べてみたところ…、やはり入っていました。「IE7互換モード」の指定が。

ということで、以下のタグを追加して、胸をはってIE8対応完了です。
<meta http-equiv=”X-UA-Compatible” content=”IE=7″>

次期VerのVEではIE8の正式対応もされるのでしょうか…?

2008/9/8 月曜日

Visual Studio 2008とUAC(ユーザーアカウント制御)について。

カテゴリー: 技術情報 — chiztek-team @ 12:26:51

関東地区ではまだまだゲリラ雨が続いておりますが、いかがお過ごしでしょうか?
「CHIZTEK(チズテク) 手描き地図検索」の開発チームです。

さて、弊社はWeb開発が業務の中心となっていますが、たまに「Win32アプリケーション」といった非WebのWindows アプリケーションの開発案件が舞い込んできます。
今回はそんな中で学んだ「Visual Studio 2008とUAC(ユーザーアカウント制御)」についての情報です。

通常はあまり意識しませんが、ごくまれに「管理者(Administrator)権限が無いと出来ないような操作」をしなければならない場合があります。
(HKEY_LOCAL_MACHINEのレジストリエントリを操作したり、インストール操作をしたり…)
XP以前のアプリケーションであれば「IsAnUserAdmin()」というような関数を使って現在のユーザ権限判断をして、持っていないなら適宜エラー処理、となるのですが、Vistaになって「UAC(ユーザーアカウント制御)」という仕組みが導入されました。

正直言ってしまえばこれは大変やっかいな仕組みで(苦笑)、UACが有効になっている環境では、仮に管理者権限でログインしていても、右クリックで「管理者として実行」を選ばなければフルコントロールで実行することが出来ません。
管理者として実行
当然UACなどの仕組みやこの方法を知らないユーザからすれば、「どうやっても実行できないアプリケーション」になってしまいます。
(それがUACの狙いなのかもしれませんが…)

ということで、これを何とか避けるためには「明示的に管理者権限を要求する」ようにしたいわけですが、Webを調べたところ「Manifestに細工して要求する権限を書く」ということが分かりました。

参考リンク:
http://www.geocities.jp/i_love_balard/myhome/dnet/manifest.html
http://blogs.msdn.com/tsmatsuz/archive/2006/11/01/windows-vista-uac.aspx

ところが、自分でManifest.xmlを追加してみても、Visual Studio 2008環境ではなんだか上手く行かないのです。
コンパイル時に「manifest authoring error c1010001: Values of attribute “level” not equal in different manifest snippets.」というエラーを吐いてしまいます。
どうやら、VS2008が勝手に作ってくれる「アプリケーション名.exe.intermediate.manifest」の設定と違うことが理由のようです。

ということで、色々と調べてみた結果、ついに「プロジェクト」の「プロパティ」に設定を発見しました!
プロパティ画面でのUAC設定
ここで設定してやれば、別に自前でManifestを追加することなく、「管理者権限を明示的に要求するアプリケーション」を作ることが出来ます。

ということで、無事コンパイルされた結果がこちらです。
盾つきアイコン
無事アイコンに「盾マーク」がつきました!
もちろんダブルクリックで起動すれば、管理者権限を要求するダイアログが出てきます。

分かってしまえば沢山情報はあるのですが(苦笑)、見つからなければなかなか見つからないのがこのテの情報の特徴です。
Visual Studio2008でハマってしまっている方のお役に立てれば幸いです。

それでは失礼致します。

HTML convert time: 0.322 sec. Powered by WordPress
Copyright (C) 2007 fmfmsoft corp.