杉山利幸の公開日誌 2007年1月分

2007年2月分

2007/01/28 Windows Vista Ultimate を入れてみました3
2007/01/27 Post-Action Starter Ver. up to 1.11
2007/01/21 Windows Vista Ultimate を入れてみました2
2007/01/20 a! Reg Analyzer Ver. up to 2.46
2007/01/14 Windows Vista Ultimate を入れてみました
2007/01/13 a! Menu Filer, Free AMF Ver. up
2007/01/06 Virus Mail Killer Ver. up to 1.82


2007/01/28 Windows Vista Ultimate を入れてみました3

Windows Vista にはUAC(User Account Control)という全く余計な機能がありまして、管理者権限でログオンしてもユーザ権限で実行させて、管理者権限が必要になる時いちいち訊いてくるようになります。そのためコントロールパネルを操作してもいちいち訊いてきます。管理者権限の操作が必要なときは、そもそもセッションの切替機能が Windows XP からあるのだから、管理者とユーザ2つでログオンすればいいことです。さらに管理者とユーザでコントロールパネルを2種類に分ければ良いと思うのですが、そういう考えが Microsoft には全くないようです。

よって Windows Vista に関しては買わないか、UAC機能を無効にして使うというのが良いと思います。Windows XP のサポート期間も延長されることが決まったことですし...。

ところで作者作成のソフトの Vista 対応は時間がかかりそうです。一番邪魔な機能はこのUACです。ここに解決のストーリーがあるのですが、この中にあるキーワードで Microsoft の最新のドキュメント(契約するとDVDで送られてくる)2006年8月版を検索しても見つからないものがあります。これでは対応できません。「作者作成のソフトはUAC機能を無効にして使ってください」といえなくはないですが、標準インストールした環境で使えることが基本ですので、暫く(どれくらいか不明)お待ちください。

今回は趣向を変えて Windows Vista を作者のサブマシンに入れてみた結果をお知らせします。作者のサブマシンは PentiumIII 600MHz メモリー384MB です。ここにある「サポートされている最低システム要件」を下回っているのですが、なんと Home Basic Edition がインストールできました。以下がその結果です。今回はこれで終わりです。


2007/01/27 Post-Action Starter Ver. up to 1.11

今日付けで Post-Action Starter をバージョンアップしました。バージョンアップ内容は以下の通りです。

Ver.1.11 2007/01/27

文字通りです。


2007/01/21 Windows Vista Ultimate を入れてみました2

Windows Vista 上で作者作成のソフトを動かすためには「管理者として実行」がキーになりそうです。例えば、Before Power Off はデフラグを動かしますが、それにはデフラグを「管理者として実行」しなければいけません。それをコーディング上で実現しなければならないのですが、その方法がさっぱりわかりません。サンプルコードが欲しい!。UAC(User Account Control)というのがキーワードになりそうです。Microsoft の最新のドキュメント2006年8月付けを検索してみましたが、よくわかりません。Vista 公開以前のバージョンなので、まだ詳しく書かれていないのかも知れません。

更に大きな問題が発生しました。Vista 上でのデバッグの必要性もあるかなと思い、Vista に Visual C++ 6.0 をインストールしてみました。すると

という画面が出てきました。また
ここには、Vista上では Visual Studio 2005 しか動かないと書かれています。また「管理者として実行」するアプリケーションを作るには「マニフェスト」がなければならず、それは Visual C++ 6.0 ではできそうもありません。すなわちコンパイラーの更新を行わなければいけないのかも知れません。

ここまで来ると、作者作成のソフトを Vista 対応するという保証はできなくなります。UACを無効にするやり方が、ちらほらインターネットで出てきていますが、そういう環境でないと動作させられなくなるのかもしれません。

「Vista は作者が今まで使ったOSの中で最悪だ。」と思えるようになりました。作者はWindows ばかりでなく Machintosh も Unix も Linux も汎用機もミニコンもオフコンも使ったことがあります。それを Microsoft も自覚しているせいかわかりませんが、ここに Windows XP のサポート延長の記事が出ています。とりあえず今回はこれくらいということで。


2007/01/20 a! Reg Analyzer Ver. up to 2.46

今日付けで a! Reg Analyzer をバージョンアップしました。バージョンアップ内容は以下の通りです。

Ver.2.46 2007/01/20

セキュリティの継承に関して作者は少し誤解をしていました。ACEの継承ルールの中で全てを実現させていると思っていましたが、実はセキュリティ記述子の中に継承からの保護というフラグがあり、それも関係していることがわかりました。GetSecurityDescriptorControl というAPIで取得できるのでその値を書き出しまたは表示させることにしました。

また、セキュリティ記述子のグループという概念は取得はできるもののどこにも影響を及ぼさない(変な仕様!!)ということを知り、書き出しまたは表示をやめることにしました。

これがわかる人はほんの少数だろうなあ...。


2007/01/14 Windows Vista Ultimate を入れてみました

自作機 sug01 にWindows Vista Ultimateを入れてみました。基本的に作者作成のオンラインソフトは Vista 対応をするつもりではいますが、Windows XP 対応バージョンからかなりの変更が必要そうです。1日使っただけですが、正直言って Vista は使いにくいです。作者はお勧めをしません。使った感想やノウハウをまとめてみましたので参考にして下さい。

インターフェースの Macintosh 化
特に説明は要らない。作者が使っている Mac mini のような感覚。

exe 実行やコントロールパネルの設定変更にいちいちダイアログボックスが出る。
正直言ってうるさすぎる。管理者としてログオンしているのに何故いちいち聞かれなくてはいけないのだ!この点が改善されないのなら Vista を使いたいとは思わない。上記とあわせて「使いにくい Mac」という印象だ。当該ダイアログボックスを画像キャプチャしようと思ったが、Print Screen でキャプチャーができなかった。Microsoft は意地悪をしているのか?!。

自作機 sug01 のエクスペリエンス インデックス
自作機 sug01 はチップセット 865G のオンボードVGAを使っているが、予想通りエクスペリエンス インデックスは悪かった。当然 Aero は動かなかった。厳密に言えば1日しか使っていないので、どこからが Aero だかよくわからないのだが...。Vista のインストールはできたのでとりあえず良しとしよう。
自作機 sug01 のエクスペリエンス インデックス

自作機 sug01 の環境

boot,ini が効かない
自作機 sug01 では Vista と Windows 2000 Professional をマルチブートさせているが、以前のように「boot.ini をちょっと修正して」ということができない。実は bcdedit というコマンドを使って修正しなければならない。ヘルプを見ただけではわかりにくいので以下にまとめてみた。
コマンドプロンプトを右クリックして「管理者として実行(A)...」を選択(ここがミソ)。以下必要そうなコマンドのみを述べる。
現在の設定を見る
bcdedit
タイムアウト(ブート選択画面の表示時間)を設定
bcdedit /timeout 秒数
タイムアウト後に起動されるブートの指定
bcdedit /default {identifier}
ブートの文字列指定
bcdedit /set {identifier} description "表示文字列"
ブートの表示順序の指定
bcdedit /? /displayorder で調べてください。作者は使ったことがありません。
後のコマンドは bcdedit /? で調べてください。

「大きいフォント」への変更
自作機 sug01 は解像度 1600X1200 「大きいフォント」で使っているが、「大きいフォント」への変更項目が「画面の設定」にはない。結局どこにあったかというと「個人設定」のタスクの中に「フォントサイズ(DPI)の調整(J)」という項目がありそこだった。どうせなら画面右側のペインにいっしょにあればいいのに、これでは探せない。


2007/01/13 a! Menu Filer, Free AMF Ver. up

今日付けで a! Menu Filer, Free AMF をバージョンアップしました。バージョンアップ内容は以下の通りです。

a! Menu Filer
Ver.2.39 2007/01/13

Free AMF
Ver.1.07 2007/01/13
1番目の修正は、両方共通のバグ修正です。

a! Menu Filer の2番目の修正はちょっとした改良です。

Free AMF の2番目の修正は恥ずかしいバグです。

Free AMF の3番目の修正はずっとそのままにしていてついでに行った修正です。


2007/01/06 Virus Mail Killer Ver. up to 1.82

皆様明けましておめでとうございます。今年もよろしくお願いします。

今日付けで Virus Mail Killer をバージョンアップしました。バージョンアップ内容は以下の通りです。

Ver.1.82 2007/01/06

1番目の修正は、この間違いのせいで作者は大事なメールを[文字化けメール]として1つ消してしまいました。実はJISコードのエスケープは結構ムヅカシイのです。
ここの「表1.JISコードの仕様」のとおりにプログラムを作ることにしました。

2番目の修正は、メールサーバ側の問題のような気がします。POP3の仕様では複数行応答の場合に、最後に「.(ピリオド)」のみの行をメールサーバ側で送信しなければなりません。Virus Mail Killer は「TOP」というコマンドを送信して、メールの先頭部分をメールサーバからもらうのですが、最後の「.(ピリオド)」のみの行が送られていないために Virus Mail Killer は受信を続けようとしてタイムアウトになってしまいます。どうやらメールが multipart で最後の boundary「--boundary文字列--」が抜けている場合にそういう風になっている気がします。作者のプロバイダーである @nifty の場合は全く問題ないのですが、他の方からの報告でデバッグを手伝って頂き、そういう結論になりました。結局 Virus Mail Killer の処理としては「TOP」コマンドがタイムアウト(10秒)したときは受信処理を止めてそのまま処理を続けさせることにしました。

3番目の修正は Debug モードで現れるバグの修正です。


2006年12月分

戻る