WindowsServer2012

WindowsServer2012 の製品版が出ているので試してみた。

Windows Server 2012 のダウンロード(評価版)

VMwarePlayer5.0, VirtualBox4.1(最新版)では、インストールできなかったが
VirtualBox4.2 RC3 では、インストール可能だった。

http://download.virtualbox.org/virtualbox/4.2.0_RC3/
(VirtualBox-4.2.0_RC3-80444-Win.exe)

とりあえず、StandardのGUI版をインストール。

画面が随分変わった。メトロっぽくなったな~と思って、Windowsキーを押したらメトロだった。
Serverでタッチパネル使う人は、あんまりいないと思いますが。



スタートメニューに慣れてしまっているので、ついカーソルを左下に持って行ってしまいますが、
設定や電源を出すには、右下に持っていかないといけない。

試しにActiveDirectoryを入れてみたが、画面に慣れるのに時間が掛るかも。






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

C77-Smart Androidのroot化

前回の記事、スティック型のAndroid端末 の続き。

まずはタブレット情報画面。



BackupとかPCとの連携を考えると、StickタイプのAndroidとは言え、やはりRoot化したくなります。
早速、ネットを検索して この記事 を見つけた。

CX-01(C77-Smart Android4.0)のルート化作業の前段階として、

Java SDKのインストール

android-sdkのインストール(Win7 x64の場合の注意事項あり)

が必要で、この後 http://www.unlockroot.com/ からunlockrootをダウンロードします。


ルート化するなら、Terminal Emulator, Superuser, Busybox は必須でしょう。とりあえず入れちゃいます。
(Titunium Backupも便利ですが、まともに使うには有償版が必要です。)



困ったことに http://www.unlockroot.com/ のunlockroot最新版(2.4.1)は、
あまり評判の良くない "Babylon toolbar" が一緒にインストールされてしまいます。
(x64は必須。x86は選択で回避できる)

ユーザーの悲鳴

babylonのアンインストールは面倒なので、別のゴミ箱PC(VMware等で作っておく)にインストールして
Program Files\unlockroot をごっそりコピーした方が安全です。
本件に限らず、一度VirtualPCを作っておけば、そのHDコピーを簡易SandBoxとして何度でも使えます。

その後の手順に従い、C:\Program Files (x86)\Unlockroot\driver\android_winusb.inf の編集ですが、
編集後、CX-01をUSBに差してドライバ更新しても認識されませんでした。

C:\android-sdk-windows\extras\google\usb_driver\android_winusb.inf にも同様の編集を行ってから、
CX-01をUSBに差す。
続いて、デバイスマネージャの SUNCHIPS-CX1(不明なデバイス) でドライバの更新、
C:\android-sdk-windows\extras\google\usb_driver を指定します。


C:\android-sdk-windows\extras\google\usb_driver\android_winusb.inf の編集例

;
; Android WinUsb driver installation.
;
[Version]
Signature           = "$Windows NT$"
Class               = AndroidUsbDeviceClass
ClassGuid           = {3F966BD9-FA04-4ec5-991C-D326973B5128}
Provider            = %ProviderName%
DriverVer           = 05/24/2012,6.0.0000.00000
CatalogFile.NTx86   = androidwinusb86.cat
CatalogFile.NTamd64 = androidwinusba64.cat

;
; This section seems to be required for WinUsb driver installation.
; If this section is removed the installer will report an error
; "Required section not found in INF file".
;
[ClassInstall32]
Addreg = AndroidWinUsbClassReg

[AndroidWinUsbClassReg]
HKR,,,0,%ClassName%
HKR,,Icon,,-1

[Manufacturer]
%ProviderName% = Google, NTx86, NTamd64

[Google.NTx86]

;Google Nexus One
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_0D02
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_0D02&MI_01
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E11
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E12&MI_01

;Google Nexus S
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E21
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E22&MI_01
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E23
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E24&MI_01

;Google Nexus 7
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4E40
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E41
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E42
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E42&MI_01
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E44&MI_01

;TCC8920 <--ここから(x86)
%SingleAdbInterface% = USB_Install, USB\Vid_18D1&Pid_DEED&MI_01
%CompositeAdbInterface% = USB_Install, USB\Vid_18D1&Pid_DEED&Rev_0231&MI_01
; ここまで-->

[Google.NTamd64]

;Google Nexus One
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_0D02
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_0D02&MI_01
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E11
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E12&MI_01

;Google Nexus S
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E21
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E22&MI_01
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E23
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E24&MI_01

;Google Nexus 7
%SingleBootLoaderInterface% = USB_Install, USB\VID_18D1&PID_4E40
%SingleAdbInterface%        = USB_Install, USB\VID_18D1&PID_4E41
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E42
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E42&MI_01
%CompositeAdbInterface%     = USB_Install, USB\VID_18D1&PID_4E44&MI_01

;TCC8920 <--ここから(x64)
%SingleAdbInterface% = USB_Install, USB\Vid_18D1&Pid_DEED&MI_01
%CompositeAdbInterface% = USB_Install, USB\Vid_18D1&Pid_DEED&Rev_0231&MI_01
; ここまで-->

[USB_Install]
Include = winusb.inf
Needs   = WINUSB.NT

[USB_Install.Services]
Include     = winusb.inf
AddService  = WinUSB,0x00000002,WinUSB_ServiceInstall

[WinUSB_ServiceInstall]
DisplayName     = %WinUSB_SvcDesc%
ServiceType     = 1
StartType       = 3
ErrorControl    = 1
ServiceBinary   = %12%\WinUSB.sys

[USB_Install.Wdf]
KmdfService = WINUSB, WinUSB_Install

[WinUSB_Install]
KmdfLibraryVersion  = 1.9

[USB_Install.HW]
AddReg  = Dev_AddReg

[Dev_AddReg]
HKR,,DeviceInterfaceGUIDs,0x10000,"{F72FE0D4-CBCB-407d-8814-9ED673D0DD6B}"

[USB_Install.CoInstallers]
AddReg    = CoInstallers_AddReg
CopyFiles = CoInstallers_CopyFiles

[CoInstallers_AddReg]
HKR,,CoInstallers32,0x00010000,"WdfCoInstaller01009.dll,WdfCoInstaller","WinUSBCoInstaller2.dll"

[CoInstallers_CopyFiles]
WinUSBCoInstaller2.dll
WdfCoInstaller01009.dll

[DestinationDirs]
CoInstallers_CopyFiles=11

[SourceDisksNames]
1 = %DISK_NAME%,,,\i386
2 = %DISK_NAME%,,,\amd64

[SourceDisksFiles.x86]
WinUSBCoInstaller2.dll  = 1
WdfCoInstaller01009.dll = 1

[SourceDisksFiles.amd64]
WinUSBCoInstaller2.dll  = 2
WdfCoInstaller01009.dll = 2

[Strings]
ProviderName                = "Google, Inc."
SingleAdbInterface          = "Android ADB Interface"
CompositeAdbInterface       = "Android Composite ADB Interface"
SingleBootLoaderInterface   = "Android Bootloader Interface"
WinUSB_SvcDesc              = "Android USB Driver"
DISK_NAME                   = "Android WinUsb installation disk"
ClassName                   = "Android Phone"

これで、CX-01がAndroidデバイスとして認識されます。

認識さえできれば、Unlockrootを起動してRoot化を選ぶだけです。



ルートが取れたか Terminal Emulator で確認してみます。



念のため、Unroot化も確認しましたが特に問題ありませんでした。

Unlockrootのインストールでは日本語を選択できますが、
少々おかしな日本語表現もありますので間違えないように注意して下さい。


(※)メーカー保証もない機器であり、失敗==廃棄となる可能性もあります。
   自己責任であることを十分に認識した上で、ご参考下さい。




C77では、デフォルトでUSBデバッグがONになっていますが、
C77では、設定メニューの開発者向けオプションが隠されています。

PCを繋いだ際に、右下の通知メニューにUSB設定が出てくることがあります。





ここから開発者向けオプションが起動出来ますが、一旦、USBデバッグをOFFにしてしまうと、
開発者向けオプションが表示できなくなります。

そんな時は、Android Terminal Emulator等で、次のコマンドを入れると開発者向けオプションを表示できます。

am start -a android.intent.action.MAIN -n com.android.settings/.DevelopmentSettings

※このコマンドでは、root権限は必要ありません。

USB以外の開発者向けオプションは、変えてません。
変えられると困る設定があるので隠したのかな~。とか思っています。


あと良く使われる /system 書き込みのための Remountは

mount -o rw,remount -t yaffs2 /dev/block/mtdblock2 /system

※このコマンドは、root権限が必要です。



ところで、Geaneeの「ADH-40」、ほとんど同じKitを使っているような気がしますが、こちらは日本でのサポートあり。
ですが、内部ストレージ4Gしかない。
root化した場合の保証は難しいでしょうから、8Gの"C77-Smart Android4.0" の方が優位かもしれません。
いずれ、内部ストレージ 16G, 32G~が出てくるだろうから、いろんな意味でスピード勝負になるんでしょう。



動画ブラウザとしては力不足ですが、sambaを入れてNAS化して、一時的なVideoストックとしての
(VideoPlayerはまずまずなので)使い方なら、ストレージ8G を存分に利用できます。
例えば、PCでビデオ編集して、Wifi で C77 にコピーして家族で楽しむとか。
USBコピーの方が早いですが、TVからPCに差し替えるのは面倒です。
無線状況にも依りますが、1Gのファイルコピーが10分ぐらいです。

もちろん、C77 から EsExplorer等で PC のファイルをコピーする手もありますが、
セキュリティレベルの低い Android から、PCにログインするのは、あまり好きではありません。
かと言って、USBハブを用意してSDカードでコピーというのも...

コピー方法はともかくとして、とかく配線回りが汚くなりがちなTV周辺にはちょうど良い小道具だと思います。

あとは、最低でも1年は故障せずに持ってくれればありがたいです。



怖くて試していないが、Pandawillから CX-01 の最新ファーム が出ているようだ。

どうにもならない不具合が発生したら試すことにする。


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

スティック型のAndroid端末

Wiiのブラウザを不便そうに使っている、嫁や子供らのために
スティック型のAndroid端末を買った。

何種類か販売されていますが、Android4.0に対応したものだと、
Geaneeの「ADH-40」とかMK802-Android4.0 MiniPC がありますが
配線がすっきりするC77-Smart Android4.0を選んだ。(USBから電源が取れるのが嬉しい。内蔵ストレージ8Gです。)

秋葉原のSOUTHTOWN 437さんの店頭現物もので、6980円でした。
(保証は初期不良の2週間。通常は1週間以内だと思うので良心的かな。
でもこの手の商品は保証範囲が難しい。)

C77-Smart Android4.0は、CX-01 Mini Android TV Box の 8Gストレージ版です。
CX-01 Mini Android TV Box は海外では、8G版でも50ドル程度(値下がりしてる?)
で売られていることを考えると、割高に感じますが、国内での入手方法がわからなかった。
(PandawillでPaypal かクレジットカードという方法があるらしい。
また、Pandawillで購入すると英語版のマニュアルもあるらしい。)

ADH-40だと無線マウスは付いてるけどキーボードはない。
(内蔵ストレージ4G、CX-01 Mini Android TV Box の EMS/OEM ではないだろうか)
検索とか考えると、やっぱりキーボードが欲しい。
MK802-Android4.0 MiniPC は上位CPUだが、配線がごちゃごちゃしそう。

-・-・-・-・-・-
追記 2012-08-28
ふと気が付けば、MK802 II が出ている。両方並んでたら、価格次第ではあるが MK802 II を選ぶかもしれない。
海外では70ドル程度。新製品は次々と出るから、キリがないんですけどね。
-・-・-・-・-・-

タッチパッド付きの無線キーボード、LogicoolのK400を3k位で購入。併せて一万円ほど。
これが高いか安いかは、難しいところです。
(K400はパッドが右端なので、左利きの人には厳しいかも)

キーボードのUSB無線ドングルはAndroidではインストールできないので、
WindowsPCでペアリングして差し替えたが、ここで、はまった。

LogicoolのHPからUnifyingのソフトをダウンロードして、ドングルを認識させるのですが、
いくらやってもWindows7 x64で認識しない。
デバイスマネージャーを見ると、「USB Receiverのドライバーが見つかりません」と言っている。

良くわからないのでネットを彷徨うと、Logitechだけに海外ではよく発生しているようで、解決策を見つけた。

C:\Windows\System32\DriverStore\FileRepository\usb.inf_amd64_neutral_e2b28ecac19a29afの下にある、
USB.infとUSB.PNFを、C:\Windows\inf にコピーしてから、USB Receiverのドライバを更新すれば良いとのこと。

USBドングルをC77に差して、C77を液晶TVのHDMIに差したら、あっけなくAndroidが立ち上がる。


※全体の大きさは100円ライター位。左の黒いのが LogicoolのUSB無線ドングル、下は給電USB。

デフォルト言語が中国語になってるので日本語に変えて、Google日本語入力を入れたら普通に使える。
無線キーボードも良好。

youtubeとかの動画は、標準ブラウザ上で表示できずに、VideoPlayerで再生されるが、これはしょうがない。
Opera Mobileでも駄目だった。

ところで、LogicoolのK400って、マルチタッチ対応と言いながら2本指スクロールしか対応してないんですね。
ピンチとかも期待してたのに残念。



C77 ではありませんが、内蔵メモリサイズ以外ほとんど同一スペックの ADH-40 での
amazonのカスタマーレビューがあります。

このページの下の方に、購入者のコメントがあります。
かなり厳しい評価です。
私は画像解像度で、AutoDetectを選んでいるので1280x720です。
ちらつきは多少あるものの気にならないし、ブラックアウトや再起動はないです。
GooglePlayからのダウンロードも問題ない(既存のカウント)し、Youtubeでの再起動もありません。
「あたり/はずれ」があるんですかね。それともTVとの相性?

TVの裏にセットする場合は、無線状況が非常に悪くなる場合もあります。
ADH-40 はメーカー保証や国内サポートが売りですから、まずは正式ルートで問い合わせるべきでしょう。




C77-Smart Androidのroot化




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

Windows 8

Windows8のConsumer Preview版が出たのでインストールしてみた。

VirtualPCやVMWareでのインストールがうまくいかないので、
VirtualBoxでやったら一発でできた。
VirtualBoxだとOS選択で既にWindows8 32/64bitの選択まであるのには驚いた。

Windows8 でのShutDownの方法がわからず、ググってしまった。
右下にカーソルを持って行くんですね。
あと、デスクトップ⇔MetroUIへの移動とかも悩みます。
これにはWindowsキーが早いです。

タッチパネルを持ってないと、Metroアプリを活用することもできません。
当面は、IE-10のテスト環境、ですかね。

VirtualStoreとか、GodModeとかは7と同じでした。



【追記 2012.06.03】
Windows8 Release Previewが出たのでVirtualBoxにインストールして気がついた点。

起動画面から金魚が消えた。
デフォルトのデスクトップ背景が黒。
デスクトップのカスタマイズからも金魚が見当たらない。

何もしてないのにCPU使用率が高かった。
(ネットワーク設定でIPV6を止めたらCPU使用率が0%近くに下がった)
これはCP版も同じ。

メトロにBingスポーツとBingトラベルが追加されてる

Windows Media Centerが消えた。別売らしい。

スタート画面にステップ記録ツールが追加(「問題」という文字は頭に入らない)
CP版では検索でpsrと打てば起動できた。

リモートデスクトップが入った
CP版では検索でmstscと打てば起動できた。

Windowキー+タブキーで画面右側に良く使うメトロアプリ?
が表示される

スタート画面で右クリックした時に出る「全てのアプリ」アイコンが
右端から左端に移動してる。

スタート画面の右下隅の小さくなるボタンのデザインが変わった。


見つけられないだけだろうが、大きな変化は感じられなかった。



【追記 2012.09.06】

VMwarePlayer 5.0からマルチタッチに対応したらしいので、
Windows8 をインストールして、 Multi-Touch Vista で動かしてみた。
ピンチやパン操作はそれっぽく動作するが、touchend(MouseUp)がうまく拾えてない。
Multi-tach-Vistaに何らかの修正が必要みたい。




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

FaceBookのメモ、サンプルアプリ

① タイムラインから戻す。(ウォールに)

2012/3/24からFaceBookのウォールが廃止になり、タイムラインになる。
厄介なのは、一見、試験運用中と思わせるタイムラインのプレビューをつついてしまうと、2度と、ウォールに戻れなくなることだ。
これは、IE8以降が該当するらしい。

現状の回避策としては、IE起動後、F12でIEの開発Viewを表示して、
メニューの「ブラウザモード」をIE7に変えるしかないらしい。

3/24にははっきりしますが
新インタフェースはIE8以降しか対応しないのだろうか。
MSも、3月からのWindowsUpdateで無条件にIE8化をするらしいので、
これに併せたということだろうか。


-------
② Win7+IE9で信頼済みサイトに設置した「いいねボタン」がうまく機能しない。

一般的には
http://developers.facebook.com/docs/reference/plugins/like/
で、Likeボタンのひな型を作成して、HPに張り付けます。

ネットワーク条件は種々様々であるので一概に言えませんが、
Win7+IE9の組み合わせで、信頼済みサイトに設置した「いいねボタン」を押すと
http://www.facebook.com/connect/connect_to_external_page_widget_loggedin.php?social_plugin=like&external_page_url=<指定のurl>#_=_
のブランクページが開いてしまう。
通常なら、コメント入力が現れるはずだ。

駄目な場合には上で書いた、F12でIE7互換に変えても失敗する。
http://developers.facebook.com/tools/lint/
でも特に問題は検出されない。

ベータ版のWin8CP+IE10だと少し複雑で
・メトロ版・・・ブランクページが開く。
・DeskTop版・・・ブランクは出ず、いいねも押せるが、コメントが開かない。

少なくとも、イントラ環境下では「いいね」を使わない方が良さそうだ。


-------
③ FaceBookサンプルアプリ javaScript SDKでuser情報の表示

(2012.8)現在、この方法でuser情報は表示できなくなりました。

ログオンしていることが条件になるが、
ログオンしていなくても、「いいね」を押すとログオンが要求される。
この時に再度、FB.init()を呼び出してuser情報を取得できた。

いずれにしても、ユーザーに気づかれずに、
FaceBookのuser情報が取得できてしまうことは、とても危険だ。

Deveropper登録してアプリIDを取得すれば、FaceBookのSDKを使ったページが好きなHP上に構築できる。
FaceBookキャンバスは、https:のアドレスが必要だが、
FaceBookキャンバスを利用しないのであれば、どこにでも置ける。
つまり、野良アプリである。
忘れそうなのでメモ。

一般的な「いいねボタン」を配置する、次のようなhtmlを用意する。


<!DOCTYPE html>

<!--- xmlnsは、IE不具合のおまじない、ほとんど効果はない --->
<html xmlns:fb="http://www.facebook.com/2008/fbml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<!--- ここのメタ部は、いいねボタンでのみ必要なものです。 --->
<meta property="og:title" content="xxxxxx" />
<meta property="og:type" content="xxxxx" />
<meta property="og:url" content="http://www.xxxxxxxxxx.xx.xx/" />
<meta property="og:image" content="http://www.xxxxxxxxx.xx.xx/xxxx.gif" />
<meta property="og:site_name" content="xxxxxx" />
<meta property="fb:admins" content="nnnnnnnnnnnnnnn" />
<!--- いいねメタ ここまで。 --->

</head>
<body>

<!--- FaceBookアプリ --->
<div id="fb-root"></div>
<script script type="text/javascript" src="http://www.xxxxxxxxxxx.xx.xx/core.js"></script>
<!--- FaceBookアプリ ここまで。 --->

<!--- ようこそ:xxさん --->
<div id="username"></div>

<!--- ユーザー情報表示部 --->
<div id="userinf"></div>

<!--- 友人情報表示部 --->
<div id="friendinfo"></div>
<br />

<!--- いいねボタン --->
<div id="iinebutton"></div>

</body>
</html>



channel.htmlは、
https://developers.facebook.com/docs/reference/javascript/
にある通り、

<script src="//connect.facebook.net/en_US/all.js"></script>
の一行だけ。

続いて、FaceBookアプリのcore.jsを次のように書く。


// Copyright(C) Hundredsoft Corporation 2012 All rights reserved. 
//
//  FaceBookアクセスサンプル (javascript SDK)  core.js
//
//   2012.3 時点で意味があって、かつBasic Permissionで引けそうな項目を並べた
//

var m_login = false;

window.fbAsyncInit = function() {
   FB.init({
      appId      : 'xxxxxxxxxxxxxxx', // App ID
      channelUrl : 'channel.html', // Channel File
      status     : true, // check login status
      cookie     : true, // enable cookies to allow the server to access the session
      xfbml      : true  // parse XFBML
   });

   // Additional initialization code here

   // Asyncの場合、いいねはSDK読み込み後に作らないと日本語にならない
   document.getElementById("iinebutton").innerHTML = '<div class="fb-like" data-href="http://www.xxxxxxxxxxx.xx.xx/" data-send="true" data-width="450" data-show-faces="true"></div>';

   FB.getLoginStatus(function(response){
      if (response.status === 'connected') {
         // Logged in
         m_login = true;
         showUser();
      }
      else{
         //本来はここでFB.loginでログインWindowを出させる。
         //今回はユーザの別操作でログインさせるため、無処理。
      }
   });

   // いいねを押したとき呼ばれる
   FB.Event.subscribe('edge.create', function (response) {
      if (!m_login){
         //ちょっと無理させます。
         FB.init({
            appId      : 'xxxxxxxxxxxxxxx', // App ID
            channelUrl : 'channel.html', // Channel File
            status     : true, // check login status
            cookie     : true, // enable cookies to allow the server to access the session
            xfbml      : true  // parse XFBML
         });

         FB.getLoginStatus(function(response){
            if (response.status === 'connected') {
               // Logged in
               m_login = true;
               showUser();
            }
         });
      }
   });
};

function showUser(){
   FB.api('/me', function(response){
      //日本語名称は,userテーブルではなく,profile。しかし権限追加が必要。
      document.getElementById("username").innerHTML = '<h2>ようこそ:' + response.name + ' さん</h2>';

      var query = FB.Data.query('select uid, name, profile_url, sex, email, current_location, hometown_location, work_history, education_history, hs_info, pic_small from user where uid={0}', response.id);
      query.wait(function(rows) {
         var name_e = (rows[0].name!= undefined ?        rows[0].name : "");
         var url =    (rows[0].profile_url!= undefined ? rows[0].profile_url : "");
         var email =  (rows[0].email!= undefined ?       rows[0].email : "");
         var pic_e =  (rows[0].pic_small!= undefined ?   rows[0].pic_small : "");

         var current_loc = "";
         if (rows[0].current_location!= undefined){
             current_loc = (rows[0].current_location.city!= undefined ? rows[0].current_location.city : "") + "," +
                           (rows[0].current_location.state!= undefined ? rows[0].current_location.state : "") + "," +
                           (rows[0].current_location.country!= undefined ? rows[0].current_location.country : "");
         }
         var hometown = "";
         if (rows[0].hometown_location!= undefined){
             hometown = (rows[0].hometown_location.city!= undefined ? rows[0].hometown_location.city : "") + "," +
                        (rows[0].hometown_location.state!= undefined ? rows[0].hometown_location.state : "") + "," +
                        (rows[0].hometown_location.country!= undefined ? rows[0].hometown_location.country : "");
         }
         var highsc = "";
         if (rows[0].hs_info!= undefined){
             highsc = (rows[0].hs_info.hs1_name!= undefined ? rows[0].hs_info.hs1_name : "");
         }
         var edname = "";
         if (rows[0].education_history!= undefined){
             if (rows[0].education_history[0]!= undefined){
                edname = (rows[0].education_history[0].name!= undefined ? rows[0].education_history[0].name : "");
             }
         }
         var wkname = "";
         if (rows[0].work_history!= undefined){
             if (rows[0].work_history[0]!= undefined){
                wkname = (rows[0].work_history[0].company_name!= undefined ? rows[0].work_history[0].company_name : "");
             }
         }

         var jsex = "";
         if (rows[0].sex!= undefined){
            if (rows[0].sex == "female"){
               jsex = "女性";
            }else{
               jsex = "男性";
            }
         }
         document.getElementById('userinf').innerHTML =  
            '名前: '   +  name_e                                                    + "<br />" +
            '性別: '   +  jsex                                                      + "<br />" +
            'URL : '   +  '<a href="' + url + '" target="_blank">' + url + '</a>'   + "<br />" +
            'Mail: '   +  (email!= undefined ? email : "")                          + "<br />" +
            '住所: '   +  current_loc                                               + "<br />" +
            '田舎: '   +  hometown                                                  + "<br />" +
            '会社: '   +  wkname                                                    + "<br />" +
            '大学: '   +  edname                                                    + "<br />" +
            '高校: '   +  highsc                                                    + "<br />" +
               '<img src="' +  pic_e + '" width="50" />' + "<br /><br /><br />";
      });

      showFriend();
   });
}


function showFriend(){
   FB.api('/me/friends', function(response){
      var users = "";
      var i;
      for(i=0;i<response.data.length;i++){
         var f_id = (response.data[i].id!= undefined ?   response.data[i].id : "");
         var f_name = (response.data[i].name!= undefined ?   response.data[i].name : "");
         users = users + '<a href="http://www.facebook.com/profile.php?id=' + f_id + '" target="_blank"><img src="http://graph.facebook.com/' + f_id + '/picture" width="50" />' + f_name + '</a>&nbsp;&nbsp;&nbsp;&nbsp;';
      }
      document.getElementById("friendinfo").innerHTML = '現在の友人は、' + i + ' 人です。<br />' + users;
   });
}

// Load the SDK Asynchronously
// ja-JPに変えないと,いいねが日本語にならない
//
(function(d){
   var js, id = 'facebook-jssdk', ref = d.getElementsByTagName('script')[0];
   if (d.getElementById(id)) {return;}
   js = d.createElement('script'); js.id = id; js.async = true;
   js.src = "//connect.facebook.net/ja_JP/all.js";
   ref.parentNode.insertBefore(js, ref);
}(document));



この3つのファイルを適当なHPに置けば、FaceBook情報を表示してくれる。

こちらにサンプルを置いておきます。
IEだと「いいね」を押してログオンしても情報が表示されないときがあるので、
その時はリロード(再読み込み)してください。




Tags: プログラムメモ VirtualPC関連 Windows7(x64)関連
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 | - | -

新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 | - | -

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 | - | -

ファイルの関連付け

どうしても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 | - | -

Webサーバ

今までXP上でApache+ssl+Perl+php環境を構築していたので、
本家からWindows版のapache_2.2.13-win32-x86-openssl-0.9.8k.msiをダウンロードしてインストール。

wwwポートは問題なくいけるのですが、sslを入れるとどうもうまくいかない。

現状、Win7(x64)環境での成功事例が皆無のため、
しばらく様子見として、IIS7を試した。
当然のことながら、あっけなく開通。

Cell4Win51のパターン②(WebサーバSSL)もOK。
OpenSSLを入れてCell4Win51のパターン④(SSL直結)もOK。

IIS7でのSSL自己証明書発行についてはこちら、
http://technet.microsoft.com/ja-jp/library/cc753127%28WS.10%29.aspx

ついでに基本認証をかけて、SSL付きのWEBサーバができた。
でも、Windowsユーザを追加しないといけないのが面倒に感じるなぁ。




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

XPM (XPモード)

まだベータ版ですが、VirtualPC2007の後継ソフト上で動作する仮想OSです。
どうしてもWin7(x64)で動かない(又はインストールできない)ソフトが幾つかあります。

弥生会計09(※注1)とか、古いJava(※注2)を使っているソフト関連です。
携帯ソフトだとJ2SDK1.3とか1.4が必要になったりします。

これらをVirtualPC上で動かすこともできますが、
XPMを使うとなんとなくWin7上で動いているように見えます。

早速、導入。
http://www.microsoft.com/windows/virtual-pc/download.aspx

いきなり、VirtualPC2007を削除しろと言われ、あわててバックアップ(注3)。
Virtual HDの互換があるのか心配しつつ...

インストール自体は何の問題もありません。
VirtualPC2007で作成したVirtual HDの利用も可能でした。

XPモードで動作させるには、Windows7上からすべてのプログラム→WindowsVirtualPC→(PC名)アプリケーションの中から選びます。

仕組み的に、プロセスが別PC上で動きますので、
複数プロセスが協調するシステムを考えると、
こういった場合、一部プロセスだけを別PCに移行することはできそうもないので、すべてのプロセスをWindows7上で動かすかVirtualPC上で動かすかの選択になりそうです。

XPMの安全性に対する評判はあまりよくありませんが、
これはDefault設定では、XPMからWindows7の全ファイルが丸見えになっているからでしょう。(一瞬ビビリます)
VirtualPC側がネットワークに繋がってしまうとガードの甘いXPだけに、これに侵入されると、Windows7まで侵入されてしまいそうです。
XP互換モードとしての位置づけなら、メンテナンスの時だけ統合機能やネットワークを有効にして、それ以外では統合機能やネットワークを無効にするぐらいの使い方でしょうか。

でもこの方法だとネットワークを使うXP上のアプリが使えないですな。

※注1
 弥生会計09というより、InstallSheildの設定によってx64での
 インストールが禁止されているようなものを指しています。
 InstallSheildのx64-Checkがどのようなものかはわかりませんが、
 IsWow64Process()あたりで確認しているようなら、
 「Application Compatibility Toolkit」で IsWow64Processの戻り値を
 FALSEに固定するようなことはできないんでしょうかね?

※注2
 古いJavaは独自のコントロールパネルを作成したりするので
 まともに使えません。

※互換モードで多数のソフトをインストールすると、
 Virtualフォルダに沢山のファイルができていきます。
 たまには、\AppData\Local\VirtualStoreの下が
 どんなことになっているか確認しなければと思います。

※注3
 バックアップは簡単です。Windowsヘルプで「バックアップ」と
 入力してみてください。


VirtualPC へ




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

Windows 7 テクニカルセミナー

「~ いち早く Windows 7 対応アプリケーションを作りたいっ!~
そんなベクター登録開発者様限定!
Windows 7 テクニカルセミナー」
(株式会社ベクター、マイクロソフト株式会社 共催)

タイトルが長いのですが、ベクター登録者が無料で参加できる
タイトル通りのセミナーに参加しました。
https://secure.vector.co.jp/forms/win7/

4時間以上の長丁場なので疲れましたが、
内容も濃く、お土産まで付いて無料なのが嬉しい。

少しだけ書くと、
現状の国内Windowsシェアは

(1) XP(~2003):15,400,000台
(2) XP(2004~):9,300,000台
(3) Vista:10,600,000台

となっていて、(1)をWindows7がターゲットにしているとか

(1) 1GB以下のメモリ搭載:19,800,000台
(2) 1GB超のメモリ搭載:15,500,000台

なのでWindows7へは、(1)は買い替えが必要
(2)は買い増し(機器拡張)が必要とか

テストに当たっては、
gaiji.gif
と入れてみるとか

「鴎」が外字、「叱」がサロゲートペア。
サロゲートペアについてはこちらなどを参照。(プログラマだけ)

いろいろでした...




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

Adobe Audition3

こちらは特に問題なく、インストール完了。
ライセンスを移行して、動作確認OK。

PCで録音してみる。
あれっ!
マイクからは録音できるが、PCで再生中音声の録音ができない。
Windows7の制限か、オンボードの音源チップの制限かはわかりません。

cell4win51で録音ができないと困るなぁとか思いながら、
ステレオ3.5mmの2分岐ケーブルを取り出して、
スピーカー出力を、スピーカーとLineInに分岐差し込み。
(大型電器店で1000円以下で売ってます。)
audio3.jpg

AudioLine.gif









う~ん、音にエコーが入る。
設定を見ていくとライン入力プロパティに「このデバイスを聴く」というチェックボックスがあった。
これをはずすと、みょうなエコーが消えた。
この他の方法として、既定の再生デバイス以外で再生するという選択肢もあります。
ところで、サウンドレコーダって、WMAでしか出力できなくなったんですね。

今度はAudition3で録音できなくなった。
サウンドドライバを変えたりしていたので「オーディオハードウェア設定」のデフォルト入力がクリアされただけだったのですが、わかりにくいですね。

-----
その後、解決しました。




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