こんにちは、阿久津です。GW(ゴールデンウィーク)をいかがお過ごしでしょうか。筆者は月刊雑誌で執筆する機会が少なくなり、出版業界恒例のGW進行から開放された嬉しさと寂しさを感じつつ過ごしています。もっともGWだからといって連休を享受できるわけもなく、本原稿を執筆しているのは5月1日。掲載日の2日もとある案件で予定が埋まっており、カレンダーどおりのスケジュールで働いております。

しかし、仕事が忙しい時ほどコンピューター周辺のカスタマイズがしたくなるのはなぜでしょうか。よく漫画や小説などでは、テスト前の勉強中に部屋の掃除に取りかかってしまい、気付くと外からスズメの鳴き声が聞こえてくるという描写を見かけますが、筆者も……というよりは皆同じなのかもしれません。今回気になって手を出したのは、Windows OS上のAirPrint環境です。

ご存じのとおりiOS 4.2からサポートされたAirPrintは、同機能に対応するプリンターが必要。もちろんiPhone/iPadのためだけにプリンターを買い換えるなんてもったいないことはできません。既存の環境でどうにかできないかとネット検索してみますと、既に成功されている方のブログ記事を見かけましたので、そちらを参考に早速セットアップ。今回はJasonHD氏作の「AirPrint for Windows - Including iOS 5 Fix, V.2」を試してみました。

環境を構築したのはWindows Server 2008 R2上でしたが、どうしてもAirPrintサービスが稼働しません。なぜかと考えあぐねてみると答えは簡単。同OSにはiTunesを導入していないため、Bonjourサービスも当たり前のように未稼働。そこでAppleのWebサイトから「Bonjour Print Services for Windows」を入手してインストールしたところ、無事サービスが稼働するようになりました。

図01 Windows Server 2008 R2上のプリンターがようやく列挙されましたが、通常のプリンターは認証(?)に失敗して消えてしまいました

しかし、この時点でもiPhone/iPadからプリンターを探し出せません。既にプリンターの共有設定は終えていますので、残るのはファイアウォールの設定ですが、こちらもサービスの実行ファイルである「airprint.exe」に許可を与えています。試行錯誤を繰り返していますと、ようやくサーバー上のプリンターが列挙されるようになりました。確証を得るまでに至りませんでしたが、一度プリンターを削除してプリンタードライバーを更新した後に、AirPrintサービスを更新することで改善したようです(図01)。

早速プリンターをタッチしてみましたが、各ブログ記事で説明されているようなユーザー名入力ダイアログが現れず、数秒ほどするとプリンターが一つずつ消えてしまうという症状に。この時点で作業に取りかかってから三~四時間も経ってしまいましたので、カスタマイズはここで終了。再び仕事で煮詰まった時にでもチャレンジしたいと思います。

さて、Windows OSでは導入したソフトウェアをレジストリ上で管理しているのはご存じのとおり。大部分はHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstallキーで管理されており、アンインストール時は文字列値「UninstallString」で定義されたプログラムが実行されます。また、「インストールされた更新プログラムを表示」で列挙される修正プログラムも同列で管理されていますが、文字列値「ReleaseType」のデータ値が「Security Update」の場合のみ、同箇所で表示されるのでしょう(図02~03)。

図02 コントロールパネルの「プログラムと機能」を起動した状態。画面キャプチャツールと仮想マシン用のツール以外は標準的な構成です

図03 HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstallキーの内容。インストール情報が格納されています

面白いのがアンインストール項目のメニュー構成。Windows XP時代のチューニングを覚えている方ならご存じのとおり、DWORD値「NoModify」のデータ値が「0」の場合、同メニューに<変更>が加わります。また、DWORD値「NoRemove」がデータ値「0」の場合は同メニューに<修復>が加わります。もっとも、これらの項目を表示させても文字列値「ModifyPath」で実行するプログラムがないと意味をなしません(図04)。

図04 DWORD値「NoModify」やDWORD値「NoRemove」を編集することで、メニュー項目が変化します

このようなロジックでWindows OSはアンインストール情報を管理していますが、今後ソフトウェアをアンインストールする必要がない場合、一覧から非表示にした方がスマートではないでしょうか。そこで今回は任意のソフトウェアを「プログラムと機能」から取り除くチューニングをお届けします。


1.管理者権限で「regedit」を実行します。
2.レジストリエディターが起動したら、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstallを開きます。
3.[Ctrl]+[F]キーを押し、非表示にするソフトウェア名を検索します。
4.アンインストール情報を格納したキーを開いた状態で<ファイル>メニュー→<エクスポート>と選択します。
5.「UninstallData_{ソフトウェア名}」など、わかりやすい名称を付けてファイルを保存します。
6.アンインストール情報を格納したキーを削除します。
7.[F5]キーを押してから、レジストリエディターを終了します。

これでチューニングが終了しました(図05~13)。

図05 [Win]+[R]キーを押して「ファイル名を指定して実行」を起動し、テキストボックスに「regedit」と入力して<OK>ボタンをクリックします

図06 レジストリエディターが起動したら、HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstallまでキーをたどって開きます

図07 [Ctrl]+[F]キーを押して検索ダイアログを起動し、ソフトウェア名などをテキストボックスに入力します。「検索対象」セクションで<データ>のみチェックした状態で<次へ検索>ボタンをクリックしてください

図08 これでアンインストール情報を格納したキー(~\{BE4208C8-85DF-41E1-9294-305D18C6592E})が確認できました

図09 続いて<ファイル>メニュー→<エクスポート>とクリックして開きます

図10 ファイル名として「UninstallData_{ソフトウェア名}」など、わかりやすいものを入力して<保存>ボタンをクリックします

図11 アンインストール情報を格納したキーを右クリックし、メニューから<削除>ボタンをクリックします

図12 確認をうながすメッセージダイアログが表示されたら、<はい>ボタンをクリックします

図13 操作を終えたら[F5]キーを押してから、<×>ボタンをクリックしてレジストリエディターを終了させます

早速結果を確認してみましょう。ファイル名を指定して実行などから「appwiz.cpl」を実行して「プログラムと機能」を起動してください。すると、先ほどまであった「VMware Tools」という項目が消えているはずです(図14)。

図14 「プログラムと機能」を起動しますと、「VMware Tools」という項目が消えました

今回のチューニングポイントはステップ3で行うソフトウェア名の検索。「プログラムと機能」に列挙されているソフトウェア名は、文字列値「DisplayName」で定義されています。そのためキーをたどるのではなく、検索を用いて操作してください。ちなみにキー名ですが、最近のインストール形式ではランダムに生成したクラスIDを用いていますので、環境によってキー名(クラスID)が異なります。ステップ04~05で作成したバックアップ(レジストリ)ファイルは、そのWindows OS専用のものとしてお使いください。

非表示にしたソフトウェアを復元させる場合は、レジストリファイルを結合しましょう。同ファイルをダブルクリックし、「プログラムと機能」を開き直すか[F5]キーを押して内容をリフレッシュすれば、レジストリの内容が再度読み込まれます。これでチューニング前の状態に戻りますので、お気軽にお試しください(図15~17)。

図15 チューニング前の状態に戻すには、レジストリファイルをダブルクリックし、確認をうながすメッセージダイアログの<はい>ボタンをクリックします

図16 結果を示すメッセージダイアログが現れたら、<OK>ボタンをクリックします

図17 「プログラムと機能」がアクティブな状態で[F5]キーを押してください。これでチューニング前の状態に戻ります

それでは、また次号でお会いしましょう。

阿久津良和(Cactus