Pandora Pocket

IT系と日常系の備忘録。三日坊主。

クリーンインストールしたWindowsに、必要なソフトをインストールしたうえで既存のプログラムをビルドした際、

要求された操作はユーザー マップ セクションで開いたファイルでは実行できません。

なんてエラーが出てビルドに失敗したことがありました。

正確に言うと、ビルド後処理として設定していた別フォルダへの移動処理が失敗していたようです。

どうもこれ、会社指定で利用しているウイルスバスター(コーポレート版)が悪さをしているみたいで、とりあえず該当のフォルダを除外フォルダとして定義したところ発生しなくなりました。

まぁよくあることみたいですね。

TrendMicroのウイルススキャンソフトなどが導入された環境で、Hyper-V管理コンソール上で仮想マシンに仮想ディスクの作成・追加などが失敗する場合の対処方法をメモ。 <発生するエラー> デバイス 'Synthetic Disk Drive' を追加できませんで...
[はてなブックマークで表示]

とある案件でMicrosoft Reportを利用した印刷を行っていたんですが、お客様から突然印刷ができなくなったと連絡を受けまして。

調査のためにスタックトレースを出力したところ、エラーメッセージとして

IOException ファイルがあります

と出力されていました。

実際にエラーを吐いているコードを確認して見たところ、GetTempFileNameを利用して印刷用リソースを一時ファイルに出力するところで例外が発生してます。

どうやら下記のブログに書いてある内容のようです。

なぜだかTeX2imgが動かないという話,突き詰めてみたら一時フォルダがいっぱいで新しいファイルを作れないという理由だった.と言うわけで,一時フォルダはたまにお掃除しましょう.そういえば懐かしの窓の手にはシャットダウン時に一時フォルダを綺麗にする機能がついていた気がする.ちなみに...
[はてなブックマークで表示]

確かに環境変数で定義されている一時フォルダをみると、tmp****.tmp(****は16進数)というファイルが65535個存在していました。

一意な名前を持つ 0 バイトの一時ファイルをディスク上に作成し、そのファイルの完全パスを返します。
[はてなブックマークで表示]

もう数年問題なく動いていたプログラムなのになぜ・・・と思ったのですが、納得。

私が作った場所じゃなかったので余計ぴんと来てませんでした。
一時ファイル作っておいて消さない実装をしてたのが悪い。GetTempFileNameに罪はない。

先ほどのブログ先では「GetRandomFileName」を利用するようにされていましたが、今回は単に一時ファイルを削除する方法で対応することに。

動いているからって問題ないと思うと後で痛い目に合う典型ですね。。。

Office 365を契約してから、そちらで作ったアカウントを用いてWindowsのユーザーを作成してたんですが、そのユーザーでWindowsの自動ログインをしようとしてはまったのでメモ。

続きを読む

前々から気になっていたけど直していなかったやつ。

Windows 8からなのか10になってからなのかは記憶にないですが、エクスプローラの左ツリーに、外付けHDDが重複表示されるようになりました。
こんな感じで。

てっきり不具合なのかと思ってましたけど、これだけ長いこと放置されてるってことは仕様なんでしょうかね、これ。。

続きを読む

サーバーにセキュリティ上排除するべきFlash Playerなど、インストールするなというMicrosoftの強い意志を感じる・・・。

Windows Server 2012 R2までは「ユーザーインターフェイスとインフラストラクチャ」の「デスクトップ エクスペリエンス」を機能追加することで、IE組み込みのFlash Playerが有効化されましたが、Windows Server 2016では有効化されません。というかそもそもユーザーインターフェイスとインフラストラクチャの項目がなくなってます。

続きを読む

たぶんNikonユーザーには常識なんだろうけども・・・。

これまで使っていたD5100からD5500に切り替え、写真を撮った後にPCで開こうとしたところ、

フォトアプリがNEFファイルを開けず、「このファイルを開けません。」とエラーが表示されました。

D5100のNEFファイルは開けるので、D5100以降のどこかで互換性が変わったんでしょうか。
NEFファイルの仕様を知らないのでわかってないのですが。

続きを読む

最近パスワード管理ソフトをRoboFormから1Passwordに変えました。
この1Password、なぜか私の環境だと新しくログイン情報を登録するときに登録ウィンドウが画面外に表示されてしまって操作ができなくなってしまう問題に悩まされています。

普通のウィンドウならタスクバーのアイコンを右クリック(Windows 7から(?)はShiftキーを押しながら)して移動を選択してやれば移動できるんですが、この1Passwordのウィンドウはタスクバーにアイコンがでてこないのでその方法が使えません。

というわけで検索したところ

http://www003.upp.so-net.ne.jp/shigeri/technique/outwindow.html

を発見。

画面の中に持っていきたいウィンドウをアクティブにして(Alt+TabとかWindows 10なら仮想デスクトップの切り替え画面からでも選択できますね)からAlt+スペースを押し、Mキーを押下するとマウスカーソルが十字のアイコンになります。
その状態で一度矢印キーをなんでもいいので押して、マウスカーソルを動かすと画面外に消えてしまっていたウィンドウがマウスカーソルのある場所にぴょこっと飛んできます。

Alt+スペースキーはウィンドウの左上にあるアイコンを右クリックしたときに出てくるメニューを表示させるショートカット。こんなショートカットもあったんですね。知らなかった。

以前

という記事を書いていたのですが、あえとすさん(id:aetos382)から正しい登録方法を教えてもらいました。

HKCR.ts の中に PerceivedType という値はありませんか。
この値がある場合、
HKCR\SystemFileAssociations.ts
または
HKCR\SystemFileAssociatons<PerceivedType の値>
の下の shell をいじってやるといいかもしれません。

というわけで、以下のようなレジストリを登録することでばっちり解決。

[HKEY_CLASSES_ROOT\SystemFileAssociations\拡張子\shell\適当な名前]
@="○○で開く"

[HKEY_CLASSES_ROOT\SystemFileAssociations\拡張子\shell\適当な名前\command]
@=""プログラムのパス"

レジストリの中では個々の拡張子に対するもののほかに、動画や画像といった分類で紐づけることができるらしく(Windows XPのころからこの仕組み)、私が紐づけたかったts拡張子もPerceivedTypeがVideoとして登録されていました。
Windows 8.xまでは[HKEY_CLASSES_ROOT/.ts]のshellを直接変更するだけでもよかったのですが、Windows 10はだめになったんですかね。

参考:

Windows XPの関連づけ設定の仕組み

4月ごろに書いておいて下書き状態で残ってたのを掘り起こし・・・。

自宅で利用している録画サーバーはESXi上のVMで動いてまして、録画ファイルを保存するためにHDDをRDMで接続しています。
ここ最近そのVMが不調でフリーズしがちだったので、そろそろWindows 7な録画VMを廃止して、Windows 8で環境を作り直そうと画策したのですが、新たにVMを作ってそちらからRDM接続したHDDに接続したところ、

こんな風にまだフォーマットしていないHDDとして認識されてしまい、中に入っていたデータが読み込めなくなる事態が発生・・・。

続きを読む