2011-11-22 203 views
1

在执行VS 2010安装文件期间,我发现了一个奇怪的问题。安装程序应该将一些文件复制到当前用户的App Data中。当我使用管理员权限运行安装程序时,一切正常。在访客帐户上安装时出现问题。例如,我尝试在guset帐户A上安装应用程序。我必须选择运行作为选项。我选择具有管理员权限的用户B.安装后,所有文件都被复制到用户B的文件夹App Data中,而不是像我预期的那样......为什么?有没有解决方案?Visual Studio 2010安装项目问题

回答

1

它被称为部署项目,它是过时和破碎的技术 - 我建议使用WIX。那些愚蠢的项目应该一直在Visual Studio中 - 他们甚至不坚持MSI文件应该如何工作的基础知识。

您无法很好控制的一件事是激活管理员权限所需的高程请求。 WIX可让您完全控制MSI功能。

我必须选择运行选项。我选择具有管理员权限的用户B.安装完成后,所有文件 被复制到用户B的文件夹App Data中,而不是像我预期的那样......为什么?

啊 - 逻辑?你安装AS USER B - 确定这些文件进入用户b的文件夹。

一般而言,您需要管理员权限才能安装softawre。一个gues不能做到这一点。点。安装是一项棘手的高级特权事情,不适用于没有计算机权限的人。

安装程序应该将一些文件复制到当前用户的应用程序数据中。

每个定义无效。点。正常的安装运行不应该将任何内容安装到用户的应用程序数据中 - 另一个用户运行该软件是什么?软件可以在启动时(从共享应用程序数据)进行复制,但NORMAL安装(不是每个用户的安装)应该永远不会将东西放入用户的个人AppData文件夹中。这违反了MSI的基本原则。

赛门铁克对唯一有效的办法了良好的文档,以做到这一点(和遗憾,设置proejcts只是不支持高级功能MSI:

http://www.symantec.com/business/support/index?page=content&id=HOWTO4840

由于有这么一句话:

为了将文件安装到每个用户的配置文件中,必须自行修复该应用程序。

WIX在后类似的答案:

http://windows-installer-xml-wix-toolset.687559.n2.nabble.com/installing-files-to-user-s-application-data-folder-td5377311.html

我假设你don'd每用户安装OA)

我还以为你不按ICE38设置注册表项(设置警告):

http://msdn.microsoft.com/en-us/library/aa368961%28VS.85%29.aspx

一般来说:不这样做。用户AppData可以/应该在用户启动应用程序时发生。

+0

TomTom - 它应该是每个用户安装和instalator应写入当前用户的应用程序数据文件夹一个xml文件,将用作配置 – user1013552

+0

不。不应该。本地应用程序数据文件夹应该包含一个副本,程序应该在首次启动时从中央mster文件中复制它。其他一切都是严重的忽视。 – TomTom