2009-10-06 124 views
1

我有一个Office 2007插件已被打包成一个.msi文件(使用Visual Studio进行Office第二版2005和工具开发),使用安装项目在Visual Studio 2005无法安装.msi包默默

问题在于,当用户使用Next-> Next-> Finish自行安装软件包时,一切正常,但是当我尝试在所有机器上静默地使用域管理员进行安装时(在这种情况下,我们有数百个用户)然后它不能正常工作(虽然它正常安装)以下是用于静默安装.msi软件包的命令

msiexec /fa "solution.msi" ALLUSERS=1 /qb! 

This image显示了在安装时如何填充系统注册表以将我们的解决方案连接到Office2007

解决方案的任何先前版本是否可能与我们的静默安装冲突?或者可能会有另一个问题?

当我安静地安装它时,会不会有任何与CASPOL安全性有关的问题,可能会失败?

+0

是否能正常安装,你能定义“不能正常工作”吗? – 2009-10-06 14:05:19

+0

对于普通用户来说基本上是安装的,但是加载项并没有像Office应用程序那样显示出来。 – armannvg 2009-10-12 08:41:05

回答

3

有几件事情需要注意:

首先,你给的命令行不用于安装;如果该应用程序已安装,它将重新安装。 “/ q​​b!”选项会显示“下一步”和“完成”对话框。并且“ALLUSERS = 1”选项告诉它在所有用户的开始菜单中放置快捷方式(但不会改变它如何安装注册表键 - 在一秒钟内更多)。我会推荐这样的:

msiexec /i "solution.msi" ALLUSERS=1 /qn 

其次,您的注册表快照显示应用程序需要HKEY_CURRENT_USER条目。顾名思义,这些对登录到机器的每个用户都是分开的。 (这就解释了为什么如果用户自己安装它就行了。)如果你以管理员帐户安装它,那么该帐户将拥有它所需的注册表项 - 但不一定是登录的任何其他帐户。您的MSI必须专门设计,以便为每个登录的新用户推送HKCU条目。

有关如何让它把在为你的HKCU注册表项设计的MSI,请参见下面的一个小窍门:

+0

你说得对,我通过将注册表设置移动到HKEY_LOCAL_MACHINE并在插件源文件夹位置添加一个Count键(请参阅http://www.box.net/shared/3mzzmam4i6)来解决问题。 下面的url是一个有价值的资源,同时找到问题的解决方案 http://msdn.microsoft.com/en-us/library/cc136646.aspx#AutoDeployVSTOse_InstallingAddinforAllUsers http://blogs.msdn。com/mshneer/archive/2007/09/04/deployits-your-vsto-add-in-all-users-part-i.aspx http://blogs.msdn.com/mshneer/archive/2007/ 09/05/deploy-your-vsto-add-in-all-users-part-ii.aspx – armannvg 2009-10-09 15:09:05

+0

啊,是的。好东西。感谢您分享链接! – ewall 2009-10-09 17:22:57

1

我的猜测(因为我无法访问您的图片)是当您以管理员身份进行安装时,您的安装文件没有为其他“普通”用户正确设置权限。

因此,您可能需要为文件上的* \用户设置读取和/或写入权限。