2

我用 Microsoft Visual C# 2008 Express Edition 编写了一个应用程序。

我要安装它的 Windows XP 计算机有两个用户帐户。一个是管理员帐户,另一个是主用户帐户,没有管理员权限。

我尝试以主用户身份安装该应用程序,但出现错误说我不能,因为我不是管理员。美好的。我尝试将应用程序安装为管理员帐户。它可以在管理员帐户下正常安装和工作,但在我的主用户帐户中似乎不可用。从主用户帐户,我使用 Windows 资源管理器导航到我以管理员身份运行应用程序的位置,并且出现相同的“无法安装”错误。

我需要做什么才能使我的主用户帐户可以使用它?

谢谢!

-阿迪娜

更新:有人询问这些细节:我正在使用“ClickOnce”发布方案(我认为这是 Express 中唯一可用的东西。我使用向导并将其发布到我机器上的本地文件夹,然后我说“用户的将从 CD-ROM 安装”(而不是从网站或文件共享),然后选择“应用程序将不检查更新”

update2:当我尝试在主用户帐户下安装时,我得到一个对话框,上面写着:“应用程序无法启动。请联系应用程序供应商。” 然后有一个“详细信息...”按钮,我单击它并获得以下错误摘要: 错误摘要 下面是错误摘要,这些错误的详细信息在日志中稍后列出。* C:\ADIA\ADIA.application 的激活导致异常。检测到以下失败消息: + 访问被拒绝。(来自 HRESULT 的异常:0x80070005 (E_ACCESSDENIED))

另一个注意事项......这是一个非常简单的应用程序。如果我将在 MS Visual Express 中工作时生成的可执行文件复制到另一台机器并以我的主要用户身份运行,它运行良好。

4

5 回答 5

5

您不能更改 ClickOnce 安装项目以安装所有用户。它们旨在仅为个人用户安装。您需要创建一个 MSI 安装程序。将新项目添加到您的解决方案中,转到其他项目类型 | 设置和部署 | 安装向导。那应该让你上路,然后看看我的另一个答案。

不确定这是否适用于 Express。如果没有,您可能需要使用第三方安装程序,例如WixNullsoft 安装程序

于 2009-01-08T18:40:11.817 回答
2

在 Visual Studio 中打开您的安装项目。单击您的部署项目,然后按 F4 以显示属性。在属性中,将InstallAllUsers切换为 true 并重建您的项目。它现在应该可以按您的预期工作。

于 2009-01-08T17:58:59.123 回答
1

安装的是 MSI 吗?如果是这样,请尝试 MSIEXEC.EXE /I yourpackage.msi ALLUSERS=1

于 2009-01-08T17:54:30.817 回答
1

如果您的应用程序是单个 .exe 文件,为什么还要安装?我喜欢可以复制到我的机器并运行而无需安装和卸载的应用程序。

如果您想要真正花哨,请使用 .cmd 文件压缩您的 .exe 文件,该文件将 .exe 复制到“程序文件”并创建一个开始菜单快捷方式。

ClickOnce 的最大优势在于适用于频繁更改的应用程序。它允许客户端从更新的服务器版本无缝更新自己。如果您不这样做,那么使用 ClickOnce 的主要好处就没有了。

于 2009-01-08T20:03:10.837 回答
0

MDSN博客上的一篇博文解释说,非管理员用户需要目录和注册表项的权限,并提供了一个可怕的解决方法。

于 2009-01-08T18:02:38.490 回答