素材1

音符です。

02_音符2.pdf




.


Tags: 素材
author : HUNDREDSOFT | - | -

歯槽膿漏が進んでいます。

最近、歯というか歯の根元が痛くなります。
で、思いついたようにイラストレータで描いてみました。

musiba.pdf

深い意味はないです。



Tags: 素材
author : HUNDREDSOFT | - | -

wav2mld


wav2mld V2.35はこちら
author : HUNDREDSOFT | - | -

imGPS V1.34

折角だから、位置情報をファイル保存するようにしました。
また、個人的な位置情報とお店情報を別に保存しています。
・個人的な位置情報は、マークした本人のみ閲覧できる。
・お店情報は同一URLにアクセスすれば誰でも閲覧できる。

2人以上の少人数グループで共有できる位置情報を持つことで、待ち合わせが可能になります。

詳しくはこちら

初めは、各ユーザーの最終マークポイントを共有してしまおうか,
とも思ったのですが、鬼ごっこでもしないかぎり不要だろうと。
(これはこれでおもしろそうなんですが。)

但し、個人の特定に【iモードID】を使っています。
iモードID通知設定をOFFにしている場合は、UserAgentのみの識別となりますので、
同一機種の場合、区別が付かず他人のデータが表示されてしまいます。
確実には、utn属性を使う方法がありますが、確認メッセージが増えることを嫌いました。
・少人数グループでの利用を前提とする。
・【iモードID】はデフォルトで通知設定になっている。
・imGPSが使うWebAPIは、個人利用を想定している。
等の点から、utnは不要と考えました。

URLを不特定に公開する場合は十分にご注意ください。

上で鬼ごっことは書きましたが、まじめに利用するなら、
例えば、配送状態把握やトラック位置特定などの応用ができます。
こういったことを特にシステムを組まずとも、
携帯とホームページ(わずかながらのCGI)だけで構築できてしまうのが、
昨今の携帯とWebAPIの凄さですね。
author : HUNDREDSOFT | - | -

imGPSその後

カスタマイズしてどこかに入れようかな、とか思ってたんですが、
少し手直ししました。

V1.1 GPSなしの携帯でも使えるように目的地を入力できるようにした。

目的地の緯度経度の検索には、東京大学空間情報科学研究センターが提供している「CSISシンプルジオコーディング実験(街区レベル位置参照情報, 国土数値情報, 数値地図25000地名)」を使っています。


V1.2 CSISを使わず、ホットペッパーを使ってお店検索に絞った版。


V1.3 ホットペッパーだけだと都心でしか使えないので、Yahoo!ローカルサーチと組み合わせた版。


カスタマイズせずにそのまま使うなら、V1.3がお勧めです。
適当なフリーサーバ(CGI有り)に入れれば、すんなり動くと思いますが、
GoogleとYahooのアプリキーを取得してキー部分を変更してください。
リクルートのキーは今のところ必須ではありませんが、今後は不明です。

CSISは、SHIFT_JISが使えるのが嬉しいのですが、Yahooと比べるとキーワード検索を掛けにくい。
この辺りは、さすがは老舗検索エンジンと言えます。
ホットペッパーやYahooはUTF-8が必須なので、Perlスクリプトだと文字化けの可能性がある。
もちろん5.8以降なら問題ありませんが、古いサーバだとUnicode対応できていないので、ネットから拾ったサブルーチンを入れています。
作者さんは著作権で改変を制限するようなことは考えていないようですが、念のため改変していません。
あいまいな点もありますのでSJIS⇔UTF8関連のサブルーチン(.pl)は改変しないで下さい。
SJIS→UTF8, UTF8→SJISの2種類のテーブルを持っています。
それほど重い処理ではないのですが、込み合っているサーバーだと多少は応答が遅れるかもしれません。

GPSは初期位置を得るためだけですので、目的地の最寄り駅がはっきりしていれば、GPSは必要ありません。そういった場合には Yahoo検索で目的駅を入れてください。

【追記】
・Yahooクーポンも選択できるように試してみたのですが、Yahooレスポンスに入ってるUrlアドレスはPC用なので携帯だとまともに表示できませんでした。
・V1.31としてcgi-binの下に設置すれば動くようにしました。

直接cgi-binを叩かせたくない場合は、呼び出し用のhtmlを書いてください。
サンプルHTML
<html lang="ja">
<head><meta http-equiv="content-type" content="text/html; charset=Shift_JIS" />
<meta http-equiv="content-language" content="ja" />
<title>Hundredsoft GPS map</title></head>
<body><br /><FONT SIZE="1">タイトル<br />
<br /><a href="http://<url>/cgi-bin/imgps.cgi?mode=0" lcs>現在地を表示</a><br /><br /><HR><br />
キーワードでYahoo!ローカルサーチから検索する場合はこちら。<br /><br />
<form method="GET" action="http://<url>/cgi-bin/imgps.cgi">
<input type="hidden" name="mode" value="0">
検索キーワード:<input type="text" name="addr" size="30"><br />
<input type="submit" value="検索"><br /><HR></form>
<br />(c) Hundredsoft 2009</FONT></body></html>
-----------------

詳しくはこちらにて

author : HUNDREDSOFT | - | -

imGPS

携帯GPSスクリプト「imGPS」の配布を開始しました。

詳しくはこちら

ドコモユーザーですが、デフォルトのGPSソフトだとGoogleのサテライト機能がないなどの不満があり、GoogleのStatic Maps APIを使ったPerlスクリプトを書きました。
できるだけ制限の緩やかな「修正BSDライセンス」を使っていますので、改変も可能です。
iアプリ版「モバイルGoogleマップ」は素晴らしいのですが、目的によっては使えない場合もあります。

スクリプトなので応用範囲は広いです。
ドコモ以外に対応することも可能でしょう。

位置情報を記録して移動履歴を表示したり、目的地を中心とした地図にして現在地からの最短経路を探したり、アイディアに応じて修正をお試しください。

---------------------------
【修正情報】
author : HUNDREDSOFT | - | -

XPのVirtualPC化

OSについて調べるとこんな記事があります。
http://www.watch.impress.co.jp/pc/docs/article/20011030/mobile124.htm

例えば、古いPCから新しいPCに買い換えた場合に、古い方のOSライセンスを新しいPCにVirtualPCとかで入れることはできるのか。についての回答になりそうです。
一般に通販や量販店でPCを購入した場合、OEMライセンスになりますので、これは難しいと書いてあります。
何に付属するOEMライセンスなのかで流用が可能か否かが分かれるようです。
DSP版も注意が必要です。

仮に、XPを使っているユーザーにWindows7の新PCを買わせて、
「今お使いのXPをVirtualPCとしてそのままコピーしますよ」的な有償サービスをやろうとしても、
この辺のライセンス問題をクリアするのは難しそう。
結局、パッケージ版のXPライセンスも負担してもらうことになるのでしょう。

OSがバンドルされたパーツがディスクだけだったら良いのですがね。

現実的には、このような方法 や VMware Converter が以前から提供されています。
幾つかのドライバなどの微調整は必要でしょうが、移行できるのではないでしょうか。
ドライブレターが変わらないような工夫や、電話承認が必要になる場合もあると思います。

XPMのライセンスについてはちょっとわからなかった。
これを他のPCに移行することを禁じる文書や制限事項が見つからない。
技術的な問題として、XPMライセンスを別PCに移す方法はわかりませんが、
何らかの手段が見つかったとしても驚くことではないでしょう。

XPM上に今まで使っていたXP環境がそっくりそのまま移行できれば一番良いのですが、今のところそのような方法は見つかっていませんし、ライセンス問題を回避できるのかどうかもわかりません。
もしこれが無償で可能になれば、XPからWindows7 Proへの移行は劇的に進むでしょう。
以前の記事 にも書きましたが、PCシェアで「XP」は他を圧倒しています。
実現すると電器街にも活気が戻るかもしれません。

ところで、XPMのFAQに
:+:+:+:+:+:+:+:+:+:+:+:+:+:+:
Q. Windows XP Mode は Windows 7 のライフサイクルの間はサポートされますか。

A いいえ。Windows XP Mode は Windows XP の完全な仮想バージョンであるため、
 Windows XP と同じサポートライフサイクルが適用されます。
 Windows XP の延長サポートは、2014 年に終了します。
:+:+:+:+:+:+:+:+:+:+:+:+:+:+:
とあります。
いきなりVirtualPCでXPMが動かなくなることはないでしょうが、

「Windows 2000 ServerとWindows 2000 Professionalの延長サポートは、2010年6月30日で終了する」

とアナウンスされているので、これが参考になりそうです。
2000Serverを顧客に導入しているところは、何らかの相談を受けるのかな。

2000とXPはかなりの互換性があるので、2000でしか動作しないソフトはあまりないでしょう。
5年後のXPサポート停止とはインパクトが違うでしょうね。




Tags: VirtualPC関連 Windows7(x64)関連
author : HUNDREDSOFT | - | -

Cell4win51 V.2.2.0.1

久しぶりに更新。

使いにくい面が多々あることは知っていたのですが、
私個人としてはあまり困っていなかったので更新していなかったのですが、
もういけません。

老眼が進んでいるようで、小さい文字が見えない。

で、Zoom機能を入れました。
更にキーマップのカスタマイズへの要望も多かったので、これも入れました。

お試しはこちらからどうぞ。

hundredsoftinfo.gif









全ての機能をONにしてしまうと、すぐにPCを壊されると思いますので、一部機能制限を掛けています。
(右クリック、キーボード操作、コマンド起動などはできません)

新幹線の中からでもリモートPC操作できるようなiアプリって他にあるのかな。


VistaやWin7で使うときは、UACが掛かるような操作はしない方が良いです。
(UACが終わる)120秒間何もできません。
Windows7だと、UACを出さずに一部の高ILソフトを起動できますが
高ILのWindowに対しては何もすることができません。

どうしても操作したい場合は、Cell4win51を管理者として実行してください。
但し、この場合でもUACの操作はできません。
Cell4win51を管理者で実行するときは、cell4winRegも管理者として実行して、再設定してください。

UACの操作を可能にするためには、幾つかの制限を回避しなければなりません。

(1) UACのセッションを変えない。
 コントロールパネル→システムとセキュリティ→管理ツール→ローカルセキュリティーポリシー
セキュリティオプションの「ユーザーアカウント制御:昇格のプロンプト時にセキュリティで保護されたデスクトップに切り替える」を「無効」にする。

(2) UIPIを回避するため、Cell4win51をuiAccess=trueで実行する。

(2)については、別記事 でも書きましたが、Windows7用にBuildが必要なことはもちろん、ルート証明書のインストールまで必要になるので、運用上簡単ではありません。

---------
【追記】
あまり良くない方法ですが、自分で作ったソフトであるから許されると思います。
(1) MT.exeでcell4win51.exeにuiAccess="true"のマニフェストを設定。
(2) 自己認証のルート証明書・コード署名に使う証明書のインストール
(3) SignToolでcell4win51改造版に署名(コード署名の証明書を使って)。
(4) Program Filesの下に改造したcell4win51を置く。
(5) 昇格のプロンプト時にセキュリティで保護されたデスクトップに切り替えるを「無効」

で、cell4win51を起動するとUACや管理者権限に影響されることなくPCを操作することができました。
ソースコードは直してませんし、Buildもしてません。

つまりプログラム側で改変されたことを検知して実行禁止する仕組みを持たないソフトの場合、割と簡単にマニフェストを変更され作者の意図しない動作をしてしまう可能性がある。のかな。




Tags: Manifest関連 Windows7(x64)関連
author : HUNDREDSOFT | - | -

新VirtualPC VS VirtualPC2007

悩ましい。

Windows6.1-KB958559-x64.msu
RC版インストーラ 6.8M
製品版インストーラ 10M
(RC版の定義ははっきりしていませんが製品版で50%も増えるのはどうなんでしょう)
何がそんなに増えたのかわかりませんが、RCより安定した気がします。

VPC2007で作ったWindows2003も問題なく起動した。
(RC版ではBSODで起動できなかった)

HOST⇔Guest間の転送も早くなった気がする。
私のPCでは、1[GB/分]位で転送できます。

ベンチマークも入れておきます。

bench_xpm_new.gif




















CPU性能に関しては,前回とほとんど変わりません

CPU処理時間のかかる作業は、VMwareで2CPUということになるのでしょう。
(例えば、x64で動作しない動画編集ソフトをVMで使う場合は大きな差になります)

VPC2007でのHOST⇔Guest間転送操作の簡易さは秀逸だったので捨てがたいものがありますが、今後のバージョンアップなどを期待すると新VirtualPCを使うべきかもしれない。

統合機能に関して
インストール後しばらくHOST側のファイルが見えなかった。
VirtualPC側で、統合機能を一旦無効化してログイン、再度統合機能を有効化したら、HOSTファイルが見えた。

すべてとは言いませんが、設定変更の内、Guest再起動を要求されるもののほとんどは、Guest側再起動しなくても、統合機能を一旦無効化してログイン、再度統合機能を有効化すると反映できるみたい。

HOST側ドライブをいつまでもGuestに晒しておきたくないという部分で統合機能のドライブ共有を瞬時に切り替えられると良いのに、再起動を要求されるから、かなり鬱陶しかったのですが、これだとまだマシです。

やっぱり駄目です。再起動が必要。
反映タイミングが安定していないように感じます。


USBが使える点でも新VirtualPCにポイントがあります。

VPC2007の良さは、
・HOST⇔Guest転送をHOST側だけが自由に行える。
・Guest側には、HOSTファイルを一切見せない。
の2点が両立できる点ですね。

GuestとHostを完全独立させた上で、Guestに何かをさせる場合、
(特にネットワークを必要としないようなケース)
これはこれで便利です。

一方、HOSTの干渉はできるだけ受けたくないが、Guestが必要とするファイルを
提供してくれる便利なHOST-OSが欲しいという場合もあるかもしれません。
こういった場合には、VirtualPCでネットワークにNAT接続を使うのが良いかもしれません。

NAT接続にすると、Guestから外部を参照できますが、外部からはGuestが見えません。

この辺りは、これからやろうとしている作業によって、より効率的な方法を選ばなければならないので、どちらが良いという問題ではありませんけど。


ネットワークに物理アダプタを使う場面には、さまざまなケースがあります。
*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*

例えばA,Bの2人の担当者がいるとして、Aさんは、Win7を使って"X"という作業を行い、
Bさんは、XPを使って"Y"という作業を行っていたとします。

Aさんテンパリ、Xの作業が行き詰って、Bさんにも手伝ってもらうことにします。
Bさんも100%は手伝えないので作業PCが足りません。

そこで、AさんのWin7のXPMに"X"作業を入れて、
このXPMに対して、BさんPCからリモートディスクトップで接続してもらう。
するとBさんは今まで使っているXPで、Aさんの作業を止めることなく、
ある時は"X"を行い、ある時は"Y"の作業を行うことができます。

めでたしめでたし......なんてのは、物理アダプタが必要です。

*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*


これからは、1台のPCで複数OSを抱える時代になりそうですので、こんなことは日常になるのかも知れませんね。


XPMでネットワークにNATを選んだ場合、
Guestは、192.168.131.70
HOSTは、192.168.131.254
になります。

NAT時、統合機能を使わないでGuest→Hostにアクセスする方法。
HOSTにIPv4で別の固定IPを振っている場合は、

HOST側ローカルエリア接続のプロパティ→IPv4のプロパティ→詳細設定→IP設定でIPアドレスに 192.168.131.254 を加える。


XPのVirtualPC化 へ




Tags: VirtualPC関連 Windows7(x64)関連
author : HUNDREDSOFT | - | -

自己署名でuiAccess=trueにする

自己署名を使って、uiAccess=trueを試してみた。

※Windows7 x64で確認しましたが、Vistaでは確認しておりません。


(1) VS2008でC++/CLRの適当なプロジェクトを作り、ビルド&起動確認。

wizardのままのFormだけで構いません。


(2) プロジェクトプロパティ→リンカ→マニフェストファイル

「UACによるUI保護のバイパス」を「はい」にする。


(3) ビルド&起動確認

「サーバーから紹介が返ってきました」と表示される。


(4) できたexeを "C:\Program Files\test2" にコピーする。

ここでは、"clitest4.exe" としています。

(5) 管理者でコマンドプロンプトを開き、

"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"

(パスを入れるのが面倒なので)


(6) フォルダ移動

cd "C:\Program Files\test2"


(7) ルート証明書を作る

makecert -n "CN=testroot,O=aaa,C=JP,E=foo@hoge.jp" -sv testroot.pvk -r testroot.cer

パスワードを聞いてきます。

clip_1.gif















最後にもう一度尋ねられるので、先ほどのパスワードを入れます。


(8) ルート証明書を使ってデジタル署名用の証明書

makecert -n "CN=test,O=aaa,C=JP,E=foo@hoge.jp" -sv test.pvk -ic testroot.cer -iv testroot.pvk test.cer

先ほどと同じようにパスワードを聞いてきます。rootとは別のパスワードが良いです。
フォルダはこんな感じ。

clip_18.gif


























(9) testroot.cerをダブルクリックしてルート証明書をインストール

clip_6.gif

































信頼されたルート証明機関にストアします。

clip_7.gif





























(10) 今度は、test.cerをダブルクリックして証明書をインストール

clip_8.gif































自動で個人に入ると思います。

clip_9.gif































(11) mmcでスナップインの追加→証明書を追加して

 信頼されたルート証明機関にtestroot
 個人にtestが追加されていることを確認します。

clip_20.gif































clip_21.gif




























(12) Signtool

先ほどのコマンドプロンプトで

Signtool signwizard

と入れると、デジタル署名ウィザードが始まります。

exeを選びます。

clip_12.gif





























カスタムを選びます。

clip_13.gif





























次の画面で「ファイルから選択」をクリック。

clip_14.gif




























X.509証明書の"test.cer"を選びます。

clip_15.gif


























次の画面で秘密キーファイルに、test.pvkを選びます。


パスワード画面後、「ルート証明書を含む証明のパスのすべての証明書」を選んで次へ。

clip_16.gif


























最後の完了でもう一度パスワードを入れます。


(13) 確認

C:\Program Files\test2\clitest4.exe

を動かすと、普通に起動します。

MT.exeで確認しても良いですし、バイナリを直接見ても、
uiAccess="true"が設定されていることがわかります。

clip_22.gif





























いきなりexeをバイナリで見る人もいないとは思いますが....

ルート証明書がないとやっぱり「サーバーから紹介が返ってきました」と表示される。

この方法だとBuildの度にサインしなければなりませんが、
2回目以降は、証明書はできているので、Signtool signwizard だけで良いです。
入力するものが決まれば、コマンドプロンプトでSigntoolを動かせるので、
ビルド後のイベントに追加して自動化できます。

念のため書くと、uiAccess="true"にしたコードは動作はしますが、
・証明書のインストールが必要。
・Windowsソフトウェアロゴを得るには、MSの特別許可が必要。

ということなので、汎用ソフトというより開発ツールの類でしょうか。




Tags: プログラムメモ
author : HUNDREDSOFT | - | -

VMwarePlayer

VMwareで仮想OSを作るには、VMwareServerを使うのが標準的ですが、
そのためにPCを用意するのも手間がかかります。
easyvmx が便利です。

こちらの具体例 がわかりやすいです。

私の環境との違いは、.vmxで言うと

「パフォーマンス関連」

MemTrimRate = "0"
mainMem.useNamedFile = "FALSE"


「3Dアクセラレーション関連」

mks.enable3d = "TRUE"
svga.vramSize = "134217728"
vmmouse.present = "FALSE"


あとは、メモリ容量・CDROMドライブ名が異なる他、
Qemu でディスク増設しています。

Dos窓から
qemu-img create -f vmdk D-Drive.vmdk 60G

で作成したディスクを.vmxに加えています。


# Second IDE disk, size 60Gb
ide0:1.present = "TRUE"
ide0:1.fileName = "D-Drive.vmdk"
ide0:1.mode = "persistent"
ide0:1.startConnected = "TRUE"
ide0:1.writeThrough = "TRUE"


こんな感じでしょうか。
大差はないと思いますが、easyvmxが作る分割ディスクより、1つのvmdkの方が良いと思われる場合は、ide0:0 も ide0:1 も Qemuで作って、easyvmxのvmdkを使わないという手もあります。

インストールやWindowsUpdateでは、NATを使ってインターネット接続し、通常使用時は、ホストオンリーにしてクライアントに固定IP(192.168.44.2)を振って接続しています。
使わないときはWindows7側のVMwareサービスも止めています。

(これは、過去のXP資産にはできるかぎり手を入れたくない。という気持ちの表れです。)


物理CD/DVDへのアクセスでは、VirtualPCの方が早いように思います。

DVDからインストールするような場合には、HOST側でDVDをディスクにコピーして仮想ドライブとしてマウントした方が早いです。


------
Windows7 いよいよ今週発売ですね。



Tags: VirtualPC関連 Windows7(x64)関連
author : HUNDREDSOFT | - | -

VirtualPC(再び)

その後VirtualPCについては、VirtualPC2007に戻した。

・GuestOS側でのソフト動作は、VMwareで2CPUを使うのが早い。
  (前回記事「仮想PC比較」参照。)

・Host⇔Guest間のデータ転送は、VirtualPC2007が早いし簡単。(ドラッグ&ドロップ)
 大量のデータを転送するにはVirtualPCでは遅い。


そうなるとVirtualPCを入れている理由がわからなくなる。
(XPのライセンスを複数持っている人には、ですが。)
Win7上でXPソフトが動いているように見える(RemoteApp)機能だけならあまり意味はない。
VirtualPCとVirtualPC2007が両立ができれば良いのですが、それは禁止されている。

USBについては、VirtualPC2007では対応できていないので、どうしてもUSBが必要なXPソフトは、VMwareを使うことにします。

VirtualPCは、まだRC版ですからね。
正式版が出たらまた考えることします。


VirtualPCからVirtualPC2007への戻し方は、
(1) GuestOS側で統合機能をアンインストール。シャットダウン。
(2) Host側「Windows機能の有効化または無効化」でVirtualPCを無効化。
(3) Host側からWindows6.1-KB958559をアンインストール。
(4) Host側でVirtualPC2007をインストール。
(5) GuestOSを立ち上げて、バーチャルマシン追加機能のインストール。

と、しました。

扱うソフトで複数の仮想OSを使うとなると、何かと管理するのがメンドクサイ。

---------
【追記】
上記のXPはXPMとは別ライセンスのものを新VirtualPCで読み込み、統合機能を追加したものです。
Win7Pro以上に付属するXPM用のライセンスは新VirtualPCでのみ利用可能みたい。
残念ながらXPMのVirtualHDを他のVirtualPC(server,2007等)で扱うことはできませんでした。
起動はしますが「ライセンス認証を行ってください」と出ます。
もしかしたら製品版ではライセンスキーが提示されるのかもしれませんが、
RC版では不明なため、新VirtualPCでしか使えなかった。


新VirtualPC VS VirtualPC2007 へ




Tags: VirtualPC関連 Windows7(x64)関連
author : HUNDREDSOFT | - | -

仮想PC比較

仮想PCについて、ベンチマークが取れましたので入れておきます。

vpc.gif




















左からHost(Win7-8CPU),VMware(XP-2CPU),新VirtualPC(XP),VirtualPC2007(XP)です。

扱うソフトにも依りますが、

ALU 整数演算
FPU 浮動小数演算
MEM メモリ性能

はCPU性能になりますので、応答性全般に大きな影響を与えます。

Hostが早いのは当たり前として、VMwareで2CPU使うと1CPUの他の仮想PCより単純に2倍速いです。

XPMのHDD性能がHostを上回っているのは、うまくキャッシュが効いたためだと思います。
描画性能に関しては、スクリーンサイズが微妙に違うため単純には比較できません。

XPMがいつ複数CPUをサポートしてくれるか、ですね。

VirtualPC(再び)へ




Tags: VirtualPC関連 Windows7(x64)関連
author : HUNDREDSOFT | - | -

PC再生音の録音

Adobe Auditionの記事でオンボードじゃ無理なんだろうな〜とあきらめていたPC再生音の録音について調べていたら、Vistaでの「DirectSound HALの廃止」以降、多くのPCで発生しているようです。
やっぱり無理なのかなと思っていたのですが、こんなTipsを発見。
ものは試しとやってみたら、あっけなく録音できてしまった。

何もないところでも(こそ)、右クリックしなきゃいけないんですね。
ゼビウスを思い出した。

--------------------
【追記】
なんとなく。ほんとうになんとなくなんですが、
この方法でダイレクトに録音すると音が悪い気がする。
もちろん、オンボードチップに期待する方が無理なんですが、
私のPCでは、2又ケーブルで録音(SpeakerOut→LineIn)した方が綺麗に感じるのはなぜ?
やっぱり、ケーブルを廻すことにします。



Tags: Adobe関連 Windows7(x64)関連
author : HUNDREDSOFT | - | -

requestedExecutionLevelのuiAccess

前回の記事で書いたrequestedExecutionLevelの
2番目のエレメントuiAccessについて

uiAccess="true" にすると上位権限へのメッセージ送信が可能になります。

つまり標準権限で起動したアプリでも、管理者権限で実行中のアプリに対して
ドラッグ&ドロップが可能になります。いわゆるUIPI問題の回避策です。

例えばExplorerで uiAccess="true" に設定できれば、管理者権限で起動したアプリにドラッグ&ドロップできるようになるので、こういった設定があればよいのですが、セキュリティ効果を半減させてしまうのでバランスが難しいです。

但し、uiAccess="true" には2つの条件があります。

(1) 署名付きのプログラムである。
(2) %WinDir% または、%ProgramFiles%フォルダーに保存されている。


単に MT.exe で変更しただけでは、条件を満たしていないので、
「サーバーから紹介が返ってきました」と表示されます。
(この文言が適当なのでしょうかね。)

オープンソースや自作ソフト・自社製品以外で(1)を満たすことはまず無理なので、一般のアプリケーションやMSのプログラムを uiAccess="true" に書き換えることは無理でしょう。

バイナリを直接いじるという手もありますが、ダイジェスト値が変わってしまうので、やはり認証されないと思います。

別プロセスでエクスプローラを管理者権限で立ち上げて、
そこからドラッグ&ドロップするという手はありますが、

ドラドロするようなアプリは、メニューにFileOpenがあるのが普通なので
そこまでするなら、FileOpenを使った方が簡単な気がする。

ドラッグ&ドロップだけでも何とかならないですかね。

----------------
【追記】
自己署名でuiAccess=true を試される方は、こちら




Tags: プログラムメモ  Windows7(x64)関連
author : HUNDREDSOFT | - | -

ファイルの関連付け

どうしてもXPモードだと、アプリの起動だけでなく実行速度も落ちてしまいます。
CPUも1個しか割り当てられませんから。

で、できるだけWin7上にアプリをインストールするわけですが、
「管理者で実行」 (高IL)しないとまともに動作しないアプリもあります。
(※IL: Integrity Level)

この場合の欠点は、

(1) ドラッグ&ドロップが効かない。
(2) ファイルの関連付けをしても標準権限(中IL)でしか起動できないアプリがある。


(1)は、エクスプローラーが標準権限(中IL)で動作しているので
中ILから高ILへの通信はUIPIによって制限されるからです。
結果としてドラッグ&ドロップは無視されます。

(2)の場合「管理者で実行」しないと起動できないようなアプリだと、
標準権限で起動してエラー終了します。

(2)は、関連付けられたプログラムを管理者権限で動作させることができれば
エクスプローラから関連ファイルをダブルクリックして起動させることができます。

単独でアプリを動かす際は、管理者として起動を選ぶか、
ショートカットなら、プロパティ→詳細設定で「管理者として実行」にチェックを入れれば事足りますが、
ファイルの関連付けからの起動には、このような設定が見当たりません。
(どこかにレジストリ設定でもあれば良いのですが...)

シールドアイコンが付いているようなアプリであれば、常に管理者として起動できます。(シールドアイコン:アイコンの右下に黄色と青の楯が付いたもの。例えばコンピュータ→右クリックの管理。)
shield.jpg
自分で作ったものでもない一般のアプリをシールドアイコン付きにすることができれば、ひとつの解決策となります。

----------

ここから先は、全てのアプリで試した訳ではなく、動作を保障するものではありません。また、アプリケーションのライセンスによっては、違反行為とみなされる場合もありますのでご注意ください。

前提として、MT.exe (Manifest Tool) が必要になります。
(VS2005やVS2008の製品版には付いています。VS2008のExpress版にも入っているようです。)

最初にコマンドプロンプトで

"C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\vsvars32.bat"

を行うとMTのパスを入れなくて済みます。

----------

今回の問題が発生するようなアプリには、
マニフェストファイルは添付されていないと思います。
まず、該当アプリケーションのマニフェストを作ります。

mt.exe -inputresource:target.exe;#1 -out:target.manifest

次にtarget.manifestを編集します。

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" uiAccess="false"></requestedExecutionLevel>
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>

が必要な部分です。

trustInfoがなければ、trustInfoをそのまま追加します。
リソース自体がない場合は、そのまま追加します。

大事なところは、requestedExecutionLevel level="requireAdministrator"
です。

書き換えたマニフェストでtarget.exeのリソースを書き換えます。

mt.exe -manifest target.manifest -outputresource:target.exe;#1

#1 はリソースIDですが、通常は1です。
複数のリソースを持つものもあります。
(PE Explorerを使うとより詳しく調べられます。)

mt.exeで失敗しなければ、シールドアイコン付きのアプリに変わります。

実際に作業される場合は、Program Filesの下ではなく、
別のユーザーフォルダにコピーして作業してください。
変換後、Program Filesの下のオリジナルの.exeをrenameして、
変換した.exeファイルをコピーしてください。


MTさえ持っていれば大した作業ではありません。
ドラッグ&ドロップは無理ですが、
ファイルの関連付けの問題が解消できるケースもあります。

----------
【追記】
Openソース系でwin32バイナリを拾ったものは、プログラム内にダイジェスト値を持っているものが多く、こういうアプリは書きかえるとエラー終了します。Openソース系は自分でBuildするしかないです。




Tags: Manifest Windows7(x64)
author : HUNDREDSOFT | - | -

バックアップと復元

バックアップと復元はWindows標準を使っています。

バックアップ手順は、Windowsヘルプを見てもらった方が良いと思います。
念のためシステム修復ディスクも併せて作っておくと良いでしょう。


初期は、幾つもの32bitソフトのインストール・動作確認を行うと思います。
このときちょっと面倒でも、復元ポイントを作っておくと、
バックアップファイルからの戻しまでは、必要ない場合がほとんどです。
例えば、32bit系のドライバまで入れるソフトの場合は、インストールや起動に失敗していると、アンインストールでも失敗するケースが多いので、復元ポイントまで戻すことがたまにあります。

システムの復元の場合は、通常Cドライブを1回潰さないと復元先にCドライブを選択できないのでかなり面倒です。(起動ドライブがC:の場合)


復元ポイントの作成は、
「コントロールパネル」→「システム」→「システムの詳細設定」→「システムの保護」
で一番下の方にあります。

復元ポイントまで戻すには、「システムのプロパティ」から「システムの保護」を選んでもよいのですが、
私は念のためWindowsを再起動してF8を押してで、「コンピュータの修復」を選んでいます。
(セーフモードじゃないです)

この後、回復オプションから「システムの復元」を選びます。
復元ポイントではなく、バックアップから復元する場合は「システムイメージの回復」を選びます。


---------
以前は市販のバックアップソフトを買っていたのですが、ディスクも安くなったので必要ないかな、
とか思ってます。市販品はバックアップ時の圧縮ぐらいしか魅力がないので。
フリーでも良いものが沢山ありますよね。


-----
XPMはRC版が出ましたね。




Tags: Windows7(x64)関連
author : HUNDREDSOFT | - | -

デスクトップのアイコン

初めてWindows7を動かしたときデスクトップのアイコンが「でかっ」と思い、
デスクトップ右クリック、表示→小アイコン。で使っていたのですが、
大中小だけでなく、Ctrl+MouseWheelでもっといろんなサイズを試せるんですね。

http://d.hatena.ne.jp/ishikawa89/20090510/1241962266

知らなかった。




Tags: Windows7(x64)関連
author : HUNDREDSOFT | - | -

VirtualPC(その3)

VirtualPCのネットワークが遅い。

統合機能があるので一概に比較はできないのですが、
単にネットワークの転送速度で比較すると2007の方が早かった気がする。
Windows系OSであれば統合機能を使って、共有ドライブを作ることで
安定した転送速度が得られますが、Linux系を入れてしまうと、
統合機能も使えないので、ちょっと使い物にならなくなる。

例えばUSBメモリを統合機能で共有ドライブにしてしまうとかは、
GuestがWindows系であれば使えるが、その他OSではアクセスできない。

しょうがないので、CD/DVDドライブを共有ドライブに見立てることで
HOST(7)→GuestOS(Linux)への転送は高速化できますが、
GuestOS側にRe-WritableなCD/DVDを、
設定することがうまくいかず、詰まってしまった。

Folder2IsoとかでHost側でファイルをISO化し仮想ドライブにして、
Guest側にDVDとして認識させると、Host→Guest転送は可能。

VirtualPCで作成するDVDドライブをGuest側でRe-Writableにすることは
できないのだろうか。

ネットワークに物理デバイスを使わず、共有NATを使うと
ネットワークアクセスが早くなるように感じるが、
これだとHOST→Guestのデータ転送に、
第3の外部PCを経由することになるので、複雑化・混乱しそう。

Linuxを扱うなら、やはりVMwareですかね。

------

GuestWindowsOSに、「Microsoft Security Essentials」を入れてみた。
別段、特筆すべきことはないです。
老舗セキュリティベンダは、情報の公開がしっかりしているので、
ありがたいのですが、MSはどんなウィルスやらマルウェアに
対応できているのかよくわからないので、ちょっと心配。

タダですからね。御守りぐらいで。

仮想PC比較 へ




Tags: VirtualPC関連 Windows7(x64)関連
author : HUNDREDSOFT | - | -

VirtualPC(その後)

テスト環境が豊富に用意できていると、いろんな場合にあせらなくて済みます。
VirtualPCは重要です。

前回に続いて、VirtualPC2007で作成したWindows2003ですが、
Windows7への移行がほぼ完了したので、
元機(XP)を潰して2008R2を入れることにしました。
そこへ、VirtualServer2005R2を入れ、2003のVirtualHDを読み込ませると。

とりあえず2003が動くか確認したかったので、2008はスタンドアロンで構成し、Hyper-Vで早速起動!...は、したのですが、

「ハード構成が大幅に変わりましたので、ライセンス再認証してください」と。
まぁ、しょうがないかと認証しようとすると、ネットワークアダプタがない。

ネットを探して、Hyper-Vで互換性のためにレガシー・ネットワーク・アダプタを利用するの記事を見つけました。
2003のSP1までしか入れてなかったので仮想ネットワーク(VMBus)は使えず、レガシーで接続しなければならないようです。

[記事中の手順1]
「旧環境でこれらの仮想マシンを起動し、[コントロール パネル]の[プログラムの追加と削除]で「バーチャル マシン追加機能」をアンインストールしてからシャットダウンする。」

は今からやるのがしんどいので無視したのですが、特に問題なくネットワークを認識してくれました。(Intel21140)
で、ライセンス再認証してようやく2003環境(x86)も整いました。
2008R2環境(x64)もできた。

めでたしめでたし。

VirtualPC(その3)へ




Tags: VirtualPC関連 Windows7(x64)関連
author : HUNDREDSOFT | - | -

VirtualPC

Beta版のVirtualPCですが、
VirtualPC2007で作成したVirtualHDには互換がありそうです。

いまのところうまく動いたOSは
・Windows2000
・WindowsXP
・WindowsVista
・CentOS5

CentOSは、特に何もしなくても以前設定済みのsambaが使えました。
(あたり前と言えばあたり前なのですが...)

ですが、Windows2003は起動できませんでした。
起動時にBSODです。(Windowsロゴ表示中にブルースクリーン)

しょうがないのでVirtualServerを入れてみようかと
http://d.hatena.ne.jp/tkkochan/20090625
を参考にVirtualServer2005R2をWindows7に入れようとしたんですが
インストールが中断してしまいます。

R2がいけないのか、x64がいけないのか。
さて、どうしたものか。

VirtualPC(その後)へ




Tags: VirtualPC関連 Windows7(x64)関連
author : HUNDREDSOFT | - | -

ネットワーク

ネットワーク構成がちょっと変わっていて、Gatewayが2つあります。

見直す機会でもあったのですが、いろいろ大変なのでそのまま移行します。
現行機(XP)はLANカードの2枚差しをしているので、
Windows7でも同じように2枚差しで凌ごうと考えました。
で、LANカードを追加しようと思ったら、Studio XPSにはPCIバスがないことに気がついた。

蓋を開けると余っているのが、PCIex1が2個、PCIX(32bit 3.3v)が1個。
手持ちにPCIex1のLANカードがないので探してみると...

64bitに対応したPCIexのLANカードなんてほとんどない。
玄人志向のGBE-PCIe, プラネットのGPE-1000Tがあったのですが、
メモリを4GB以上積んでいるとまずいらしい。

結局、該当するLANカードを見つけることができなかったのですが、
Windows7(32/64bit)対応のUSB-LANを発見♪ (100Mまでですが)

プラネットのUE-200TX-G

早速、秋葉原散策にいったが見つからない。
おかしいなぁ。
どうやらこいつは、Wiiを有線LANに繋げるのがウリになっているようで
通常のLAN/USB機器売り場ではなく、
ゲームコーナーのWiiアクセサリに並んでいるらしい。

ようやくと購入できました。(2000円位)

64bitドライバは、ASIXのAX88772用
でダウンロードできます。




Tags: Windows7(x64)関連
author : HUNDREDSOFT | - | -