- PR -

XPからVISTAへの移行について

投稿者投稿内容
KURO
会議室デビュー日: 2007/04/18
投稿数: 5
投稿日時: 2007-04-18 15:26
OS:XP VisualStudio2003で開発したアプリをVISTA上に持っていくと
管理者権限で実行すると動作するのですが
一般ユーザだと下記メッセージが表示され動作しません。
『System.Security.SecurityException: 要求されたレジストリ アクセスは許可されていません。』
『リモートコンピュータからプロセス情報を取得できませんでした。』

一般ユーザでも動作する方法をご存知の方いらっしゃいましたらご教授よろしくお願いします。
MSのページを調べたのですがVISTA上でVisualStudio2003の開発は保証していないが
VISTA以下のOSでのVisualStudio2003の開発したアプリの動作は保障していると書いてありました。

質問初投稿でご迷惑をお掛けしますがよろしくお願いします。



調べてみたサイト↓
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=1468174&SiteID=7
http://support.microsoft.com/kb/329291/ja
http://www.microsoft.com/japan/msdn/vstudio/support/windowsvista/
http://www.microsoft.com/japan/msdn/vstudio/support/windowsvista/faq/
NAO
ぬし
会議室デビュー日: 2001/10/24
投稿数: 1256
お住まい・勤務地: 神奈川のはずれから東京の下町
投稿日時: 2007-04-18 15:31
こんにちは。

UACに引っかかってる事が原因だと思います。
http://www.microsoft.com/japan/msdn/windowsvista/security/

こちらを参考に
http://forums.microsoft.com/MSDN-JA/ShowPost.aspx?PostID=783629&SiteID=7

[ メッセージ編集済み 編集者: NAO 編集日時 2007-04-18 15:33 ]
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2007-04-18 16:37
引用:

UACに引っかかってる事が原因だと思います。
http://www.microsoft.com/japan/msdn/windowsvista/security/



管理者で動かないならともかく、一般 user で動かない原因は
UAC ではないです。

Vista になって default の ACL が大幅に強化されたため
その影響でしょう。

引用:

KUROさんの書き込み (2007-04-18 15:26) より:
OS:XP VisualStudio2003で開発したアプリをVISTA上に持っていくと
管理者権限で実行すると動作するのですが
一般ユーザだと下記メッセージが表示され動作しません。
『System.Security.SecurityException: 要求されたレジストリ アクセスは許可されていません。』
『リモートコンピュータからプロセス情報を取得できませんでした。』



Source もなしに error message だけで判断しろというんですか?

一般 user が動作しようとしたところ error が発生しましたというのはわかりますが、何を行おうとして、どのような library を使ってとかそこらへんが記述されていませんですよね?

そのような状況ですと、regmon とか使って trace とってみてくださいとしかいいようがありませんね。
_________________
KURO
会議室デビュー日: 2007/04/18
投稿数: 5
投稿日時: 2007-04-18 17:42
申し訳ありません。
ソースは急いでおって明記します。

取り急ぎ
下記にエラーメッセージの詳細明記します。



System.Security.SecurityException: 要求されたレジストリ アクセスは許可されていません。
at Microsoft.Win32.RegistryKey.OpenSubKey(String name, Boolean writable)
at System.Diagnostics.EventLog.FindSourceRegistration(String source, String machineName, Boolean readOnly)
at System.Diagnostics.EventLog.SourceExists(String source, String machineName)
at System.Diagnostics.EventLog.SourceExists(String source)
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ScrollableControl.WndProc(Message& m)
at System.Windows.Forms.ContainerControl.WndProc(Message& m)
at System.Windows.Forms.Form.WmShowWindow(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
Jitta
ぬし
会議室デビュー日: 2002/07/05
投稿数: 6267
お住まい・勤務地: 兵庫県・海手
投稿日時: 2007-04-18 18:05
本題とはずれますが一点。

Form.Load イベントで、イベント ログを参照しようとしていますか?
Load イベント を、「アプリケーションの初期設定」の意味で使用しているなら、それは間違いです。他のところにコードを移しましょう。
Form はアプリケーションではありません。アプリケーションの初期設定は、アプリケーションが始まった直後に行いましょう。
アプリケーションが使用するデータの初期設定は、アプリケーションの使用準備が整ってからでも遅くはありません。
_________________
ちゃっぴ
ぬし
会議室デビュー日: 2004/12/10
投稿数: 873
投稿日時: 2007-04-18 23:46
これ Vista だからってことないじゃん。。。おそらくね。。。

Windows Server 2003 でも同様の現象が発生するでしょう。

[PRB] ASP.NET アプリケーションによりイベント ログに新しいイベント ソースが書き込まれる際に "要求されたレジストリ アクセスは許可されていません" というエラー メッセージが表示される

Installer であらかじめ registry entry 作成してやるとよいです。
_________________
KURO
会議室デビュー日: 2007/04/18
投稿数: 5
投稿日時: 2007-04-19 09:27
早速の回答みなさんありがとうございます。
みなさんの意見を元にいろいろ試してみます。
結果報告は、でき次第明記したいと思います。

以上 
KURO
会議室デビュー日: 2007/04/18
投稿数: 5
投稿日時: 2007-04-23 10:38
近状報告
NAOさんのおっしゃってるUACが原因かなと思いました。

対応策としていろいろ試してる最中ですが

1.VISTA、VS2005でコンパイルしなおしたら動きました。

2.XMLファイルを作成すると自動で管理者権限で実行になりました。
 これも動作しました。以下URL参照
http://bitwiz.jp/tabid/56/EntryID/18/Default.aspx

みなさんのアドバイスをまだ試していないので試しつつ後ほどまた報告したいと
思います。



以上 よろしくお願いします。

[ メッセージ編集済み 編集者: KURO 編集日時 2007-04-23 12:14 ]

スキルアップ/キャリアアップ(JOB@IT)