‘windows 7’ タグのついている投稿

Windows 7 x64にMercurialからgitを操作できるhg-gitをインストールする

Windows 7 x64にhg-gitをeasy_installから入れようとして、ハマったことのメモです。

hg-gitについてはこちら。
Hg-Git Mercurial Plugin

コマンドプロンプトから
C:\> C:\Python27\Scripts\easy_install.exe hg-git
C:\> C:\Python27\Scripts\easy_install.exe -Z hg-git
でインストールできます。(-Zオプションを付けないと、hg_git-0.3.2-py2.7.eggに圧縮されてしまうので、あとでmercurial.iniにパスを指定できなくなる)

error: Setup script exited with error: Unable to find vcvarsall.bat

まずはvcvarsall.batが見つからないと怒られます。これはVisual C++ 2008 Express Edition with SP1をインストールすればOKです。2010は使えないようなので、2008をインストールします。
Visual Studio 2008 Express | Microsoft Visual Studio
ダウンロードリストからC++を選んでダウンロードしてください。

C:\Python27>Scripts\easy_install.exe hg-git
Searching for hg-git
Best match: hg-git 0.3.2
Processing hg_git-0.3.2-py2.7.egg
hg-git 0.3.2 is already the active version in easy-install.pth

中略

  File "C:\Python27\lib\distutils\msvc9compiler.py", line 299, in query_vcvarsall
    raise ValueError(str(list(result.keys())))
ValueError: [u'path']

で、次はValueError: [u’path’]のエラーが出たので、調べると、PythonのIssueに上がっている問題のようです。パッチが出ていますが、未だに取り込まれていない様子。

Issue 7511: msvc9compiler.py: ValueError when trying to compile with VC Express – Python tracker

ここから、vcvars4.diff(最新のdiff)をダウンロードします。

パッチを充てたいので、Windowsで動くpatchを探すと、

UnxUtils | Free software downloads at SourceForge.net

ここからダウンロードできるようです。

が、なぜかpatch.exeが管理者権限を要求するので、ちょっと怖いので結局手作業でmsvc9compiler.pyをdiffに従って編集しました。まぁ、大した量ではないので…



2012/04/18追記:

コメント欄で原因と対策を教えていただきました。Windowsがpatch.exeというファイル名を勝手にブロックするようです。patchという文字列が入っていて、実行可能形式の拡張子(exeとかscrとか)だと発動するようなので、p.exeなどにファイル名を変更すれば大丈夫です。

パッチを当てられないWindows VISTA

ちなみに、install.exeやsetup.exe、update.exeなども同じ原因で権限を要求されます。

MSDNでの公式情報はこちら。

New UAC Technologies for Windows Vista

で、再度実行すると、また新しいエラーが出ました。

Reading http://launchpad.net/dulwich
Best match: dulwich 0.8.3
Downloading http://samba.org/~jelmer/dulwich/dulwich-0.8.3.tar.gz
Processing dulwich-0.8.3.tar.gz
Running dulwich-0.8.3\setup.py -q bdist_egg --dist-dir c:\users\***\appdata\local\temp\easy_install-ghb21p\dulwich-0.8.3\egg-dist-tmp-sc0we9
error: Setup script exited with error: Visual Studio Express: need 64-bit tools from the SDK

Windows SDKの64bit版C++ Compilerをインストールしろ、ということなのですが、罠があります。最新のSDKをインストールしても解消しません。

MathWorks 日本 – How can I set up Microsoft Visual Studio 2008 Express Edition for use with MATLAB 7.7 (R2008b) on 64-bit Windows? – MATLAB & Simulink

こちらの情報によると、「Windows SDK for Windows Server 2008 and .NET Framework 3.5」か、「Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1」でないとダメのようです。

今回は「Microsoft Windows SDK for Windows 7 and .NET Framework 3.5 SP1」をインストールして成功しました。SDKのインストールの最後に致命的エラーとか表示されましたが、特に問題はなかったようです。

これで再度、easy_install hg_gitを実行すれば、

Installed c:\python27\lib\site-packages\dulwich-0.8.3-py2.7-win-amd64.egg

Finished processing dependencies for hg-git

となって、インストールがやっと成功しました。

最後に%userprofile%\mercurial.iniを開いて、

[extensions]

bookmarks =

hggit = C:\Python27\Lib\site-packages\hg_git-0.3.2-py2.7.egg\hggit

のようにhggitの場所を指定してやればOKです。


DebianからWindows7の共有フォルダにアクセスする

実際の構成としてはVirtual PC内のdebian(squeeze)からホストOSのWindows7の共有フォルダにアクセスするという要件なのだけど、特に問題なくできたので。
ちなみにLoopback Adapter接続でした。

# apt-get install samba smbfs
# mkdir /media/videos
# mount -t cifs -o username=Windows側のユーザー名,codepage=cp932,iocharset=utf8 //Windows側のIP/Users/Public/Videos /media/videos

パスワードの入力を求められます。

Windows7だと、Publicフォルダが「パブリック」とか日本語になっていたりするので、コマンドプロンプトを使ってあらかじめ名前を確認しておきます。

SCPでVirtualPCと巨大なファイルをやり取りしようとするとなぜかやたら遅くて…
マウントしてしまえばさっくり行けます。


Visual Studio 2005をWindows 7で使う

インストール自体は普通にできます。

インストール後、以下の2つのファイルを順番にインストールします。
SP1の方は431MBほどあるので注意。

ダウンロードの詳細 : Visual StudioR 2005 Team Suite SP1
ダウンロードの詳細 : VS2005 SP1 Update for Vista

あと、Visual Studio起動時に表示されるスタートページのニュースチャンネルは、該当URLがすでになくなっているので、スタートページ自体表示しないようにした方がいいかもしれません。

ツール→オプション→環境→スタートアップで。


Virtual PC上でdebianのeth0が消えた現象

Windows Vista Ultimate x32上のMicrosoft Virtual PCからWindows 7 Enterprise x64のWindows Virtual PCにDebian lennyの仮想マシンのデータをそっくり移して使おうとしたら、eth0がなぜか消えてしまった…

loしか残ってないという状況。

結論から言うと、/etc/udev/rules.d/70-persistent-net.rulesを削除した後、rebootしたら直りました。

/etc/init.d/networking restartとかでは直らず。

ゲストOSが64bitじゃないからいけないのかとか思ってdebianの64bit版とか別にインストールしようと試みて、ゲストOSには32bitしか受け付けないことを知ったり。なので、そこは問題ではなかった。


Windows 7 x64でのVirtual PCとdebian

Windows 7 x64環境のWindows Virtual PCに、以前Vista 32bit版のMicrosoft Virtual PC 2007で使っていたdebian Lennyの仮想マシンを持ってきて起動させようとしたら、ブートの途中で何もエラーも表示せずに応答しなくなってしまったので対策を調査。

多分Windows 7どうこうではなくて、64bit版だということが問題っぽい。

MicrosoftVirtualPc2007/lenny – Debian Wiki

noreplace-paravirtパラメータを追加しておけば良いだけ。

まぁ、すでに設定していた場合は何もせずに移行できたって話ですね。Windows Virtual PCとVirtual PC 2007間での互換性問題はほとんどなさそう。

追記

NICを認識しない…やっぱりdebianを64bit版にするしかないのか…?


自作ドライバを配布するためのインストーラー

DPInst.exeというものがとにかく便利すぎたのでメモ。

何せ上記実行ファイルを配布したいinfと同じフォルダに置くだけ。DPInst.exeを実行すればインストールが開始されます。

参考にしたのはこちらのサイト。

DPInst.exeの使い方 / How to use DPInst.exe WinUSB.sys事始め/ウェブリブログ

インストール画面をカスタマイズしたい場合に限り、定義XMLファイルを設置すればいいようです。

サンプルとして使えるXMLや画像一式は以下のフォルダにあります。

C:\WinDDK\7600.16385.0\src\setup\DPInst

日本語の場合はlanguage codeに0x0411をセット。

<language code="0x0411">

あとはUTF-8にして日本語で記述できます。

0x0411を定義しておかないと、

現在の言語では、デバイス ドライバのインストール ウィザードはサポートされません。

このパッケージを提供した製造元に問い合わせてください。

と表示されて先に進めません。

ちなみにNSISでやることを最初考えていて、それは以下のページに書いてありました。

Driver installation and update – NSIS

こっちはまだ試していないのですが、アプリケーションとかも一緒にインストールする場合にはNSISの方が便利かも。


Windows 7でSynergyを使おう


※2012年4月20日追記

Macを含めないなら、Microsoft The Garageで公開されているMouse without Bordersがかなり便利です。
Microsoft download from The Garage: Mouse without Borders – Next at Microsoft – Site Home – TechNet Blogs

一番下にあるDownload Nowからダウンロードできます。

特に設定らしい設定も不要で、双方向にマウス・キーボード操作ができ(Synergyは片方向)、UAC上でも問題なく操作できます。Synergyのようにホストとクライアントの区別もありません。

あと、そんなに使う用事があるのかはわかりませんが、すべてのマシンで同時に同じ操作をさせることもできます。

おすすめです。

ライセンス版で数週間早く入手したものの、結局パッケージ版が発売されてからインストールしました。Windows 7。

XPの入っていたノートPC(Panasonic Let’snote R5)にWindows 7 Professionalをインストールしたので、とりあえずメインPCから操作できるようにしようと、Synergyをインストールするも…手動で起動すれば動作するものの、自動起動すると動作せず。管理権限で実行してサービスに登録しても動作せず。というか、繋がってはいるみたいなんですけどね。サーバ側のマウスがどこかに行ってしまうので。

で、synergyは2006年に更新が止まって、Vistaも対応していないし、何か後継があるハズ…と思って英語のWikipediaを見たら、synergy-plusというフォークプロジェクトがあったんですね。

Google先生も、「synergy」で検索したら、「もしかして synergy-plus」くらい出してほしいところですが…

32bit版、64bit版もあるので、7から64bitに乗り換えた人も安心ですね。

plusを入れる前に、一度synergyを入れていたので、設定情報を引き継いでくれているようです。といっても必要な設定項目はHost Nameの設定だけですけど。

とりあえずsynergy-plus-1.3.4-Windows-x86-r1.exeをダウンロードしてインストール。今回はクライアント側(操作される側)として使います。

やっぱり色々問題ありました…

  • ログイン画面では入力ができない
  • UACになると操作はできない

あぁ、微妙…というか、大して改善されてないですね…

自動ログインにしてWindows7のUACも無効にしてしまえばいいのかなぁ…複数ユーザ使いたい場合はどうしようもないしなぁ…

Vistaでの対策は以下のページ参照。

Fixing Problems with Synergy on Windows Vista :: the How-To Geek

Windows 7でUACを無効にするには以下のサイト参考。

Disable User Account Control(UAC) For Administrators Only :: the How-To Geek

ざっくり日本語版での対応を説明すると、

スタートメニューの検索からsecpol.mscと入力して実行。ローカルポリシーのセキュリティオプションから、「ユーザー アカウント制御: 管理者承認モードでの管理者に対する昇格時のプロンプトの動作」をダブルクリックして、「確認を要求しないで昇格する」を選択。

らしいですよ?試してないですが。

結論としては、今後に期待…

2011年3月20日追記

すっかり追ってなかったのですが、synergy-plusは本家synergyとマージして開発がバリバリ進んでいるようですね。

http://synergy-foss.org/

今は安定版の1.3系列と、ベータ版の1.4系列、ゼロから(from scratch)書きなおす2.0系列があるようです。それぞれの機能やサポート状況は別の機会に調べてエントリーします。

ロードマップ – Synergy