Win7(32bit)アプリ引越しのまとめ
アプリの引越しで、Win7に無事引越し、動作確認取れたもののリストです。
環境:
Core i3, Windows7 32bit シングルディスプレイ
あんまり凝った動作確認はしてません。ファイル操作であればローカルマシン上のファイルのみ読み書き確認していますが、共有フォルダ上のファイルなどは試してません。
Webブラウザ・メーラー
オフィス文書・PDF
エディタ:
バイナリエディタ:
ユーティリティ:
ネットワーク系ツール:
開発環境・プログラミング言語:
ゲーム:
以下、設定ファイルの編集方法と「管理者として実行」について特に調整を要した箇所についてメモ。
お仕事としてはPHP4を使う可能性はほぼゼロになったが、一応PHP4とPHP5.2の両方を入れておく。
引越し前、Windows XPでの構成:
C:\work\apps\ php4\ cli\php.exe # CLI版 sapi\php4apache2.dll # Apache モジュール php5\ php.ini # PHP5用 CLI/Apache モジュール共通 php.exe # CLI版 php5apache2.dll # Apache モジュール C:\WINDOWS\ php.ini # php4用 CLI/Apache モジュール共通 php4ts.dll # 同上共通のphp4コア
"C:\WINDOWS"にphp.iniを配置しているのは、おそらくPHP4.3などの時代のインストール知識に基づいている。
今回Windows7に引っ越すにあたり "C:\WINDOWS"の下にphp.iniを置いてしまうと、編集・保存するにはエディタを「管理者として実行」する必要が生じる。普通に起動したsakuraエディタを使うと、編集・保存できたように見えても実体は "%LocalAppData%\VirtualStore" の下に保存されてしまう。またsakuraエディタは常駐させているので、php.iniだけ「管理者として実行」する使い方とは相性が悪い。
あらためて調べてみると、PHPRCという環境変数でphp.iniのディレクトリを指定できるとのこと。
コマンドプロンプトからPHP4のCLI版を起動するときは、PHPRC環境変数を調整すればよい。
今回の構成ではphp.iniをphp4の直下に移動し、エディタのUAC権限昇格を不要とすることができた。
C:\work\apps\ php4\ php.ini # php4用 CLI/Apache モジュール共通 cli\php.exe # CLI版 sapi\php4apache2.dll # Apache モジュール C:\WINDOWS\ php4ts.dll # 同上共通のphp4コア
今回、Apache HTTPD は単純に
C:\Program Files\Apache Group\Apache2
以下にインストールした。よってデフォルトの設定ファイル(httpd.conf)も
C:\Program Files\Apache Group\Apache2\conf
以下に置かれている。"C:\Program Files"以下の設定ファイル編集も、上記php.iniと同様に「管理者として実行」したエディタから行う必要が生じる。
httpd.confもそれなりに編集頻度が高めのファイルであり、通常起動したsakuraエディタで編集・保存できるようにしたい。
そのため、昔自分がまとめたPHP4/5の排他共存の記事を参考にしつつ、httpd.confを
C:\work\www\conf
以下に移し、サービス登録時にはそちらのhttpd.confをフルパス指定することにした。
サービスの登録・削除・起動・停止については管理者権限が必要だったので、コマンドプロンプトを「管理者として実行」で立ち上げてその中で作業した。
apache -k uninstall/install net start|stop サービス名
スタートアップに登録されているApache Monitorからの起動・停止では、UAC権限昇格の確認ダイアログボックスが表示されるので「はい」をクリックすればOK。
hostsファイルも編集頻度が高い。C:\WINDOWSの中にあるため、「管理者として実行」したエディタでないと編集・保存できない。仮に保存できたように見えても、更新されたファイルは仮想化された "%LocalAppData%\VirtualStore" 内に保存されてしまう。また、権限が異なるため上で書いたように常駐タイプのエディタは使いづらい。さらに、ファイルの位置を変更することも不可能だ。
というわけで、TeraPadをこうした、「管理者として実行」する必要があるファイル編集専用に使う。
なおCLaunchには直接このショートカットを登録できない。ただし、オリジナルのTeraPad.exeを登録しておけばボタン長押しで同ディレクトリ内のファイルがポップアップメニューで表示され、選択できる。よって、hostsへのショートカットファイルをTeraPad.exeと同じフォルダに置いておけば、TeraPadを登録→長押しでhosts編集用のショートカットが表示され、選択可能となる。
重箱の隅をつつくような小賢しい小技ばかり続いてるな・・・。
以前VMwareの仮想マシン(ブリッジ接続)とホスト間でIP接続が出来なくなったとき、手動でVMware仮想マシンのIPとMACアドレスをホスト側のARPテーブルに追加することで解決した。それ以来、VMwareマシン用のarpテーブルを追加するbatファイルを用意しておき、WinXP時代にはスタートアップに登録しておいた。
ところが、Windows7になるとarpの登録は管理者として実行する必要がある。
上のhostsファイルと同様にBATファイルへのショートカットを管理者として実行できるよう設定する事は可能だが、スタートアップフォルダにはUACによる権限昇格が必要なアイテムを登録できない(登録しても、スタートアップ時には無視される)。よって、Win7へログオンした時にスタートアップで自動的にBATファイルを実行・ARP登録は行えない。
こればかりはしょうがないので、管理者として実行できるよう調整したショートカットをデスクトップ上の目立つ場所に置いておき、VMwareを使う前には忘れずにダブルクリックするよう覚えておくことにした。たとえ忘れたとしても、IP接続が出来なければ嫌でも思い出すだろう。
プログラム開発で頻繁に "C:\WINDOWS", "C:\Program Files" 以下のファイルに触るケースにおいて、いろいろと小技を組み込んでみた。
設定ファイルの位置の変更が可能であれば、なるべく仮想化対象外のフォルダに配置するようにし、それが不可能な場合は非常駐型のエディタを「管理者として実行」専用にし、ショートカット経由で編集・保存できるようにしている。
暫くの間、この使い勝手を試してみることにする。