WindowsXPにWin2000のイメージングを無理やりインストールし、VB6アプリからimgeditコントロールを呼んで使ったところ、ローカルなadministratorでは正常に動作するのですが、一般ドメインユーザーでログインすると以下のような現象が出ます。
現象:画像読込直後imgeditコントロールが巨大化し、ダイアログ上の他のコントロール(ボタン等)が壊れる(ように見える)。
デバッガでイメージ読み込み直後のHeightとWidthを調べたところ、administratorでの使用では、imgeditコントロールは元の(フォームに貼り付けた状態の)大きさですが、ユーザでの使用だとコントロールが巨大化しています。この現象、何が問題なのでしょうか。
なお、アプリもイメージングもadministrator権限でインストールしています。
http://www.microsoft.com/japan/windows2000/
Windows 2000 ホーム
URLはだみーです
私もアプリケーションを作っていてAdministrator権限で悩んだことがあります。思いつく原因を以下に挙げます
・コントロールがアクセスしているレジストリを読み出そうとしたが、正常にインストールされていないため、レジストリを書き込もうと下がAdministrator権限でないと書き込めないため、内部例外が発生してtry/catch で間の処理が飛ばされて予期せぬエラーとなっている
・テンポラリファイルを内部で作成している場合、既にファイルがある場合ならばエラーが怒らないですが、権限が与えられていないと例外になります、インストール時にフォルダのアクセス権限が正常になっていないか確認してみてください
プログラムがどのファイルとレジストリにアクセスしているかは
REGMON
や
FILEMON
が役に立ちます
ご存知かもしれませんが、イメージングのパッチを見つけたので絞め珠ておきます
こちらのサイトには Imaging ツールキットの紹介がありますね
http://www.asahi-net.or.jp/~ym3y-oksm/nt/w2k/w2k31.htm
他のユーザー権限でプログラムを実行したい
これは不確かですが、プログラムの実行権限によっては、メッセージを投げたときに、はじかれることがあるようなので PostMessageしたときに 異常な値が帰ってくるのかもしれませんね
どうしても上手くいかないなら、他アプリからAdmini権限でプログラムを実行する小細工やサービスを使って起動するなど小細工で権限を昇格させると言う手もあります。
では、頑張ってください
ありがとうございます。
パッチ、知りませんでした。ちょっと光が・・・
現在、質問した物件とは別のトラブルで客先に来ている関係で(悲)、調査は夜以降になりそうです。
http://support.microsoft.com/default.aspx?scid=kb;ja;190212
[BUG] Visual Basic をインストールしたユーザー以外にアドインが表示されない
この現象と近い感じじゃないでしょうか。
対処法(主に下の方かな)が参考になるかもしれません。
「アドインが見えない」というのとはちょっと違いますが、予測される原因としては最初の方の回答の、レジストリが怪しい、のに近いですね。
ありがとうございます。参考にします。
http://www.dynamiclink.nl/frames/index.shtml
The Dynamic Link Library -- 35.472 Files --
無理やりインストールというのがわかりませんが、手順としては、URLにアクセスして、
(上ペイン)ocx files を選択 -> (左ペイン)The Ocx Files I を選択
一覧から
Imgedit.ocx335.8724.10.2000Eastman Software, Inc., A Kodak BusinessEDIT CONTROL
をダウンロードしてください。
http://kasayan86.hp.infoseek.co.jp/html/activex.htm
ActiveXのインストール
コマンドプロンプトから
regsvr32 File_Name
をドメインのAdministrator権限ユーザで行い、インストールしてみてください。
URLは参考サイトです。
ありがとうございます。
まずはこれをやってみます。
(といっても、パッチとの関係があるので調べてからですが・・・)
http://www.hatena.ne.jp/1081483744#
ずばりお答えがいただけた場合1500ポイント、かなり助けていただいた場合1000ポイント、糸口をいただけた場合500ポイント、差し上げます。解決した時点で打ち切ります。「.. - 人力検索はてな
一言回答ですみませんが、、、
デバッガを使っているんですよね?
一般ドメインユーザーはデバッグの権限が与えられているんですか?
権限を与えていなくてもときどきデバッガが動いてしまうことがある(正常な動作はしない)ので・・・
うろ覚えですが、コントロールパネル→管理ツールのあたりで変更できた気がします。
違っていたらごめんなさい。
そう言われてみればそうですね・・・
調べてみます。
ありがとうございます。
URLはダミーです
WinXpにWin2000のイメージングを無理矢理インストールしたとなっていますが、Win2000のイメージングをインストールしたときに、レジストリが変わってしまったかも知れません。
WinXPをクリーンインストールしたPCにレジストリを監視するソフトをインストールしたPCを用意してそこにWin2000のイメージングをインストールしてレジストリの変更履歴を参考すると何か手がかりがつかめるかも知れません。
Administratorだと正常に作動してドメインユーザーだと巨大かする事に付きましてはドメインユーザーの権限は何かを知らないと対処できないでしょう。
ドメインのAdministrtor権限では巨大かしますか?
「ドメインユーザーの権限は何かを知らないと対処できないでしょう」に関しては、全くそのとおりなのですが、客先は巨大な会社なので、どの権限がどういう影響を及ぼしているか分かったとしても、それをこちらの自由に変更させることはできないので、現状のままソフトで対応せざるを得ません。
やはりレジストリの関係が深いということで、まずはそれを重点的に調べようと思います。
助言ありがとうございます。
ちなみに、ここでの回答で失礼しますが、回答2番にある最初のURLは、自分で最初に見つけたところでした。ここは「パッチ」があるのではなく、Win2000のインストールCDからイメージングに必要なファイルを抜き出してXPにインストールする方法が書いてあるところです。
「WinXpにWin2000のイメージングを無理矢理インストール」というのはこれと同等の方法(必要ファイルコピー&OCXをregsvr32)で行いました。
質問期限が来てしまったのでこれにて終了します。
未だ解決に至っていません。
現状、分かったことをまとめます。
・Administrator権限で他のログイン(ローカル)を作成したところ、そのユーザでも動作が異常となる(権限のせいではない?)
・レジストリは、正常動作の場合も異常動作の場合も相違なく、かつ正常に読み書きできている
引き続き、別質問で続行する予定です。
回答いただいた方々、ありがとうございました。
解決に至らなかったのでポイント少ないですが、調査の糸口をいただいた初出の方には100ポイントさしあげます。
次の質問でもよろしくおねがいします。
なるほど、1番目のに該当する可能性は若干考えられますね。2番目の現象が起きていたら何も表示されないか異常終了すると思われます。
デバッグ環境は客先にあり、現在自分のPCにて環境構築中なので、後ほど(明日?)REGMON試してみます。
ちなみに「コントロールが巨大化」とは、TIFFを原寸大で表示しているようなイメージです。administrator権限だと「FITTO」したようなイメージで表示されます。