Windows 7

PageLastUpdate:2011-03-31/today: - /yesterday: -
2009/12/25 アプリケーション配布用のグループポリシーは32bit用と64bit用をわける必要があるのがわかってきた。(64bitに乗り換えるときに再度検証が発生するのは嫌なので、Windows 7はすべて64bitという前提で導入予定。)

Windows 7 x64環境でクリスタルレポートの PrintDialogを実行してもダイアログが表示されず DialogResult.Cancelが返ってくる

2010/10/15 検索語:クリスタルレポート、印刷できない、表示されない
Windows 7 32bit環境で動作していたアプリケーションをWindows 7 64bit環境で動作させたら、PrintDialogを実行しても表示されません。
コードで確認してみると常にDialogResult.Cancelが返ってきているようでした。
調査の結果下記を発見。
64Bit環境におけるPrintDialog(印刷ダイアログ)のバグ
dialog.UseEXDialog = True
としてやることで解決しました。

Windows 7 x64環境でクリスタルレポート10.2の レポートの印刷 ボタンが機能しない

2010/10/13 検索語:クリスタルレポート、印刷できない
Windows 7 32bit環境で動作していたアプリケーションをWindows 7 64bit環境で動作させたら、クリスタルレポートでプレビューはできるものの、レポートの印刷ボタンを押しても印刷が行われなくなりました。
コードでテストしてみると印刷に対してキャンセルが帰ってきているようです。
調査の結果、サービスパックが出ていることを発見。
1468238 - Crystal Reports 10.2 Print report button is not working on Windows 7 x64
開発環境にこれを適用し、クライアントにもグループポリシーでmsiを配布することで解決しました。

注意事項として、アプリケーションが32bitで動作している場合は64bitのmsiではなく32bitのmsiを配布する必要があります。
これに気が付かず、30分ぐらいああでもないこうでもないとはまりました。

64bit環境ではVBAでDeclareを使用するときはPtrSafe属性を設定する必要がある

2010/01/15
Access 2002で作成したMDBをAccess 2010で開こうとしたらコンパイルエラー。
このプロジェクトのコードは、64 ビット システムで使用するために更新する必要があります。Declare ステートメントの確認および更新を行い、次に Declare ステートメントに PtrSafe 属性を設定してください。

Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
Declare PtrSafe Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
と修正したらok。

shell32をshell64とかにはしなくて大丈夫でした。

64bit環境ではMicrosoft Office 2010も64bit用を入れないとODBCが使用できない

2011/03/31
自分でODBCへのパスを辿ってソースを登録すれば大丈夫との情報が寄せられました。しとさんありがとうございます。
http://technet.microsoft.com/ja-jp/windows/win7_katsuyo06.aspx

2009/12/25 検索語:Office 2010,Windows 7,64bit,ODBC コンピューター データー ソース,表示されない
Access 2010から既存のデータベース を使用しようとするとODBCリンクテーブルに接続できない。
リンクをしなおそうとしてもOfficeから呼び出すODBCのダイアログに コンピューター データー ソースも表示されません。
調査の結果、Office は64bit版をインストールしないとODBCが使用できないことが判明。
32bit版をアンインストールして64bit版をインストールしたら使えるようになりました。
MicrosoftがOffice 2010 ベータ版ダウンロードのページで「32bit、64bit両方の環境で動作する32bit版をお薦めします。」って書いてあったから信用したのに!騙された!

32bit版Officeの関連ツールがインストールされていると64bit版Officeはインストールできない

2009/12/25
64bit版Office 2010 をインストールしようとしたら、「32bit版Officeがインストールされているのでインストールできません」と怒られた。どうも[2007 Office system 互換機能パック]がひっかかったらしい。
アンインストールしたらインストールできました。
テストしてはいないけど、バージョン混在も32bitと64bitだとダメかも。

Windows Live メールから他のメーラーに乗り換え

2009/12/14
結論から言うと、『ものすごくやりにくいので、Windows Live メールを使うのはやめよう。特に企業では。』。
Windows 7にはOutlook ExpressもWindows Mailもありません。MicrosoftとしてはWindows Liveメールを使うことを意図していると言うことなので、やむなく試用していましたが、あまりにも使いにくい。
個人的にはWebメールのインターフェースで十分なんですが、まだセキュリティポリシー的にWeb上に置いておくことが許可されていません。
Tunderbird3が出たのでそちらをテストしようとしましたが、乗り換えが、どうにも酷い手間でした。

方法は「フリーのツールを使う」「IMAPの使えるメールサーバーと同期させる」「Outlookを経由する」の3つかな。
保存しているメールの量が多くWindows Live メールが固まるのでIMAPによる同期は断念。
いったんOutlook 2010(Expressじゃないよ)をインストールして、Windows Live メールからエクスポート(なんとOutlookをインストールしていないとエクスポートさえできない!)。
そこからTunderbird3という手順を踏みました。
酷いなMicrosoft。

ローカル コンピューター ポリシーを設定する

2009/12/08
Windows 7というわけではないけれど、ドメイン環境じゃないPCの設定をするのが久し振りで思わず調べてしまったのでメモ。
単にコマンドラインからgpedit.mscを起動すればよい。
http://www.atmarkit.co.jp/fwin2k/win2ktips/233usepoledit/usepoledit.html

Windows 7 のキーボード ショートカット集


周辺機器・ソフトウェアの動作報告

2009/12/03
環境:Windows 7 64bit

プリンタ

  • OKI MICROLINE 22L:メーカーサイトでは「対応予定なし」と書かれていたけど、特にドライバとか追加なしで使えました。
  • HP Deskjet 970Cxi:特にドライバとか追加なしで使えました。

無線ルーター+USBプリントサーバー

  • SkyLink LAN-W300N/DR:付属ソフトウェアを使用して問題なし

Windows 7 でOffice XPをユーザー権限で動作させる

2009/06/25
Windows 7 にOffice XPをインストールすると、「対応してないよ?」と怒られますが無視。
しかし「インストールしたアカウント以外」でOffice XPを起動すると、毎回インストーラーが実行されてしまう。
これは管理者権限を持っていても同様で、とにかく「インストールしたアカウント」以外では使いにくい。

以下の3つのレジストリをインストールしたアカウントからコピーするとこの問題は解決した。

[HKEY_CURRENT_USER\Software\ODBC]
[HKEY_CURRENT_USER\Software\Microsoft\Shared Tools]
[HKEY_CURRENT_USER\Software\Microsoft\Office]

ただしインストールしたアカウントでOfficeを起動してしまうと余計な情報が書き込まれるので、下記手順で。

1.管理者権限を持つアカウントでOfficeをインストールする。
2.ひとつもOfficeを起動せずに、上記のレジストリをregeditを使用してエクスポート。
 コマンドラインでやるならこんな感じ。
regedit /e "%TEMP%\ForOfficeXP_ODBC.reg" "HKEY_CURRENT_USER\Software\ODBC"
regedit /e "%TEMP%\ForOfficeXP_Shared Tools.reg" "HKEY_CURRENT_USER\Software\Microsoft\Shared Tools"
regedit /e "%TEMP%\ForOfficeXP_Office.reg" "HKEY_CURRENT_USER\Software\Microsoft\Office"
3.ユーザーが初回ログインするときにエクスポートしたレジストリをインポートするような手を打つ。
 ログイン時に毎回書き込んじゃうと、もしかしたらユーザーの設定がキャンセルされちゃうこととかあるかも。
 うちではregファイルをユーザープロファイルの決まった場所に配布して、なければregedit /sで叩き込むみたいにやってます。

もし標準的な管理者でOfficeを起動してしまったからといってアンインストールする必要はなく、もうひとつ管理者アカウントを作って、そちらで修復インストールすれば大丈夫。

Windows 7へのWindows Live Mailの単独インストール

2009/06/24
Windows 7から、メーラーはプレインストールされないようです。
MicrosoftとしてはXPのOutlook Express、VistaのWindows Mailの後継はWindows Live Mailという位置づけですが、Windows Live Mailには企業展開用のインストールファイルは2009/06/24現在用意されていません。
Microsoftにも直接問い合わせましたが、まだ検討中でどうなるかわからないとのことでした。
サードパーティーのメーラーを使う選択肢もありますが、セキュリティパッチなどの集中管理を考えるとやはりMicrosoftが楽なんですよね。

そこでWindows Live のウェブインストーラーからmsiファイルを取り出し、グループポリシーを使って展開してみました。
参考サイト:http://www.ak-office.jp/php/wforum/wforum.cgi?mode=allread&no=6702&page=70

2009/06/24時点の最短手順


msiファイルのダウンロード アドレスを割り出す手順

1.最新のWindows LiveのWebインストーラー(wlsetup-web.exe)をダウンロードし、メモ帳で開く。
2.「http:」で検索すると「http://g.live.com/1rewlive3cat/ja/catalog-web.cab」というアドレスが見つかる。
3.catalog-web.cabをダウンロードして中のcatalog.xmlを開く。
4.下記の3つのcabファイルのアドレスを見つける。
Mail-ship-ja.cab
Contacts-ship-neutral.cab
SpamFilterData-ship-neutral.cab

なぜこの3つなのかといえば、catalog.xmlの中のMailのセクションに<dependencies>タグ、つまり「依存」としてマークされて
<packageRef id="Contacts-ship" />
<packageRef id="Watson-x86" />
<packageRef id="Watson-x64" />
<packageRef id="crt80" />
<packageRef id="SegoeFont" />
<packageRef id="SpamFilterData-ship" />
の6つの記述があるからです。
この中でWatsonはワトソンなので除外、SegoeFontはXPでのみ必要なので除外、crt80はMSVCRT80.DLLなんですがWindows 7には最初から含まれているので除外。
ないとは思いますが、バージョンアップなどでこの依存が増えたら、そのmsiも追加しなくてはいけないということになります。

Mail.msiだけインストールしたときのエラーメッセージ

Windows Live メール を起動できませんでした。正しくインストールされていない可能性があります。ディスクの空き容量とメモリが不足していないことを確認してください。(0x80040154)

デフラグとかvbsとか

2009/05/26
デフラグは状況は見えないのね。あれ、スッキリした感が高くて楽しいのに。

管理者アカウントを変更するvbsを管理者として実行したいんだけど、右クリックのメニューに出てこない。
まず普通にvbsを実行して見るとエラー。
エラー: アクセスが拒否されました。
コード: 80070005
ソース: Active Directory
とりあえずコマンドプロンプトを管理者として実行してからファイル名でたたくとOK。
これ不便だなあ。
たぶん右クリックに表示させる方法があるので後で調べる。

SQLServer 2008と2000のクライアントツールをインストールして見る

2009/05/26
せっかくの検証環境なので、ウチのデータベースはまだSQLServer2000なんだけど、次に導入するのは2005か2008になるので、SQLServer2008のクライアントツールで2000への接続とかもテストすることにする。

……基本的な機能は使えるけどDTSがダメ。

DTS使うには下記の二つを追加しろといわれる
  • Integration Services
  • クライアント ツールの旧バージョンとの互換性

……まだダメだー

「SQL Server 2000 DTS デザイナ コンポーネント」をインストールしてくださいといわれる。
http://www.microsoft.com/downloads/details.aspx?FamilyID=d09c1d60-a13c-4479-9b91-9e8b9d835cdc&DisplayLang=ja
からダウンロード

ところが「SQL Server 2000 DTS デザイナ コンポーネント」しても、同じメッセージが出る。

こんなのに長く付き合いたくないので断念。
普通にSQLServer2000のディスクからインストールすることにする。
でも全体に適用するまでには解決しておかないと・・・。

互換性の問題があるといわれるけどSQLServer2000のクライアントツールを強制的にインストール。


……Enterprise Managerが立ち上がりませんorz
mmc.exe - エントリ ポイントが見つかりません
プロシージャ エントリ ポイント ?ProcessExecute@@YAXPAUHWND__@@PBG1@Z がダイナミック リンク ライブラリ SEMSFC.dll から見つかりませんでした。 
 
もうダメだと思ったら、なんとか解決方法を探し当てました。
http://blogs.msdn.com/mab/archive/2006/03/18/554466.aspx
ようするに、2000をインストールして、2008をインストールして、2000のSP4をインストールすればOK!
助かった。


インストール

フォーマット時に100MBのSystem Reserved領域が作成される。
20480を指定したら20380になったので、指定した容量から引いて作られる。
DHCP環境だとインストール直後はネットワークに繋がらなかった。再起動後に接続。
インストール直後の使用量は7.32GB。だたしハードリンクで二重カウントされるフォルダがあるらしいので、もっと少ないのかも。
インストールは速かった。仮想環境のせいもあるかもしれないけど。

プロファイルフォルダの移動

VistaからはAll UsersとDefault Usersのプロファイルの場所が変わっている。
おまけにジャンクションやシンボリックリンクでリンクしまくっていて、何がどうなっているのやら。
All UsersはC:\ProgramDataになっているらしいが、これも状況によっては仮想化(バーチャルストア)されるなど、複雑。
参考URL http://dsas.blog.klab.org/archives/51108671.html

プロファイルフォルダからNetworkServiceやLocalServiceもなくなっているので、ヘタにプロファイルフォルダごと移すよりも、新しく作られるプロファイルがD:\Usersにできればいいんじゃね?ということで、レジストリの変更は一箇所のみ。
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\ProfileList

プロファイルフォルダの権限でいろいろあるかもしれないので、下位フォルダはコピーせずにC:\UsersをD:\Usersに権限通に複製。
xcopy "C:\Users" "D:\Users\" /h/k/o

新規に管理権限を持つユーザーを作成して再起動。
新しいユーザーでログインして、最初の管理権限を持つユーザーを削除。

こまごま

gpupdate /forceは効いた。


2009/05/25 いよいよWindows XPからの移行を考えなくてはならなさそうなのでWindows 7検証開始


comment

このページの記述で聞きたいこととか間違ってることとかありましたらコメントを。
  • その後、ちょこちょこ試してみましたが、スタートメニューのショートカットのプロパティで、互換性タブの互換モードをWindows XP (SP3)にしたら、起動毎に出ていたインストーラーが消えました。ただし、今度はUACの警告ダイアログが出るので、嫌ならUACの設定を変える必要がありますね。 -- (ガウス(http://ameblo.jp/new-gauss/)) 2009-10-27 01:24:58
  • さらに試すと、互換モードで一度起動すれば、その次からは互換モードをオフにしても(起動に関しては)問題ないようです。しばらくこの状態で使ってみようかと思います。もうすぐOffice 2007の特別価格のパッケージが出るので、それに心惹かれてもいたのですけどね... -- (ガウス(http://ameblo.jp/new-gauss/)) 2009-10-27 01:29:02
  • 報告ありがとうございます。100台以上に展開する立場としてはどちらにしろめんどくさいですね。 -- (memo77) 2009-10-27 09:15:12
  • Hkey_Current_User\Software\Microsoft\Office (以下のレジストリーすべて)      Win7(64Bit)で 141KB。(例:ファイル名:reg_office10.reg) -- (名無しさん) 2010-08-23 14:25:23
  • Windows7でOfficeXPをユーザー権限で動作させる方法は感激!最近やっとW7に変えてACCCESS2002を使ってみたんだけどインストーラ出まくりで解決方法をいろいろ試したが治らず、この方法でやっと解決できました!なんでこんな事がわかるのか不思議です(゜o゜) -- (GDB) 2011-01-21 18:10:32
  • ↑権限系でソフトウェアが動作しない時はほぼ間違いなくレジストリかフォルダのACLの問題です。ソフトウェアインストール時にProcess Monitorを使用してどこにアクセスした時点でエラーが出るのかを根気よく調査するのが基本です。 -- (memo77) 2011-01-31 13:42:00
  • シス蔵からのリンクで来ました。x64環境の検証結果がこれだけ揃っている事に感動しました。特に、Access2010の部分は、まさか…の落とし穴でした。参考にさせていただきます。 -- (しと) 2011-02-25 00:23:29
  • ODBCの件は下記を読む範囲で 64bit WIndows 上で、32bit ODBCの動作も可能なようです。 http://technet.microsoft.com/ja-jp/windows/win7_katsuyo06.aspx -- (しと) 2011-03-28 23:41:29
  • しとさん、ありがとうございます。これは大切な情報ですね。うちはすでに64bit環境に揃えてしまったのですが、APIなどの置き換えも発生しているので32bitで使いたかった。 -- (memo77) 2011-03-31 09:22:39
  • 1468238 - Crystal Reports 10.2 Print report button is not working on Windows 7 x64 の件ですが、ダウンロードサイトのURLを教えてもらえないでしょうか? -- (モリス) 2012-08-13 22:42:10
名前:
コメント:

すべてのコメントを見る

最終更新:2011年03月31日 09:25