2011-01-05 287 views
1

我正在开发基于C#的Windows应用程序。我越来越System.ComponentModel.Win32Exception:访问被拒绝

System.ComponentModel.Win32Exception: 已在我安装的应用程序被拒绝

2011-01-05 12:41:42,916, ERROR, RINXUI.main, System.ComponentModel.Win32Exception: Access is denied 
    at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startInfo) 
    at System.Diagnostics.Process.Start() 

只有当我安装应用程序时才会出现此错误。当我尝试从Visual Studio调试我的应用程序时,没有例外。

我已经使用IzPack安装程序实用程序安装了应用程序,并将其安装在桌面上(用于测试目的)。

任何人都知道为什么这个异常只发生在安装的版本?

回答

1

从堆栈跟踪System.Diagnostics.Process.Start()怎么样 - 你是否试图从你的应用程序启动任何进程。如果是,那么您需要查看运行应用程序的a/c是否具有足够的权限来读取/写入可执行文件的存储位置。

+0

我在我的系统管理员权限,但也是这种例外是发生。当我从Visual Studio运行应用程序时,它工作正常,但是在安装后创建安装程序并运行应用程序时,只会出现此错误。 – Shekhar 2011-01-05 09:06:27

+0

@Shekhar,如果你复制应用程序文件(而不是说使用安装程序),然后运行 ​​- 它的工作?另外,如果这是Vista/Win7/2008服务器计算机,则检查UAC(用户帐户控制)是否通过禁用它来阻止。 – VinayC 2011-01-05 12:06:48

+0

我解决了这个问题。问题在路上。安装后,我的应用程序调用的exe路径没有得到正确复制。这就是为什么这个错误即将到来。 – Shekhar 2011-01-05 12:26:49

-2

我也遇到了这个错误信息,通过mono some-executable从osx运行一些代码。需要对chmod u+x执行。