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

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

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

我需要做些什么才能将其提供给我的主要用户帐户?

谢谢!

-Adeena

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

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

另一个注意事项......这是一个非常简单的应用程序。如果我将在MS Visual Express中工作时构建的可执行文件复制到另一台计算机并将其作为主用户运行,则运行正常。

有帮助吗?

解决方案

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

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

其他提示

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

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

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

如果你想真正喜欢,请用.cmd文件压缩你的.exe文件,将.exe复制到'Program Files'并创建一个开始菜单快捷方式。

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

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top