- - PR -
XPからVISTAへの移行について
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 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/ | ||||||||
|
投稿日時: 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 ] | ||||||||
|
投稿日時: 2007-04-18 16:37
管理者で動かないならともかく、一般 user で動かない原因は UAC ではないです。 Vista になって default の ACL が大幅に強化されたため その影響でしょう。
Source もなしに error message だけで判断しろというんですか? 一般 user が動作しようとしたところ error が発生しましたというのはわかりますが、何を行おうとして、どのような library を使ってとかそこらへんが記述されていませんですよね? そのような状況ですと、regmon とか使って trace とってみてくださいとしかいいようがありませんね。 _________________ | ||||||||
|
投稿日時: 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) | ||||||||
|
投稿日時: 2007-04-18 18:05
本題とはずれますが一点。
Form.Load イベントで、イベント ログを参照しようとしていますか? Load イベント を、「アプリケーションの初期設定」の意味で使用しているなら、それは間違いです。他のところにコードを移しましょう。 Form はアプリケーションではありません。アプリケーションの初期設定は、アプリケーションが始まった直後に行いましょう。 アプリケーションが使用するデータの初期設定は、アプリケーションの使用準備が整ってからでも遅くはありません。 _________________ | ||||||||
|
投稿日時: 2007-04-18 23:46
これ Vista だからってことないじゃん。。。おそらくね。。。
Windows Server 2003 でも同様の現象が発生するでしょう。 [PRB] ASP.NET アプリケーションによりイベント ログに新しいイベント ソースが書き込まれる際に "要求されたレジストリ アクセスは許可されていません" というエラー メッセージが表示される Installer であらかじめ registry entry 作成してやるとよいです。 _________________ | ||||||||
|
投稿日時: 2007-04-19 09:27
早速の回答みなさんありがとうございます。
みなさんの意見を元にいろいろ試してみます。 結果報告は、でき次第明記したいと思います。 以上 | ||||||||
|
投稿日時: 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 ] |