有人知道我是否需要在MSI中包装我的Office 2007、基于vsto的外接程序吗?这似乎是一个额外的开销和头痛,只是为了让它无论如何都不起作用。
当我安装它时,我仍然需要运行vsto安装程序,尽管我已经尝试使用|vstolocal开关来保持外接程序的部署集中。
有人成功地完成了这种安装吗?
我已经在不使用MSI的情况下从SCCM部署了VSTO。
诀窍是一个简单的命令行:
"%commonprogramfiles%/microsoft shared/VSTO/10.0/VSTOInstaller.exe" /i <path to vsto>
VSTOInstaller.exe[[/install]|[/uninstall]][/silent][/help]
/install,/i:安装解决方案。此选项后面必须跟形式为http://的部署清单的完全限定路径,https://或\servername\foldername。
/uninstall,/u:卸载解决方案。必须遵循此选项通过表单中部署清单的完全限定路径http://、https://或\servername\foldername。
/silent,/s:安装或卸载时不提示输入或提供信息。
/帮助,/?:生成此帮助消息。
示例:VSTOInstaller.exe/i\servername\foldername\AddIn.vsto
请注意,使用/silent选项";必须在项目中建立对加载项的信任,否则在使用静默开关时,它将默认为"不安装"(来源:TechNet post)
我已经试过了,如果你喜欢用户手动安装,你不需要把它包装在MSI中。如果你:
-
使用项目->属性中的发布选项卡
-
正确设置"发布文件夹位置"one_answers"安装文件夹URL"
-
设置和所有其他元数据,包括AssemblyInfo.cs文件中的内容
-
点击"立即发布"按钮
-
共享安装文件夹并通过电子邮件发送链接
-
确保用户拥有安装它的正确权限(我想是本地管理员,你需要检查一下)
它对我有效。在Windows7和XP上也是。
整个"这个发布者不受信任"的事情完全是一团糟,试图解决这个问题需要编写一些非常愚蠢的代码,告诉Windows"嘿,顺便说一句,我实际上是受信任的"。我没有打扰,只是告诉人们不要理会警告。
我猜如果你想使用active directory推出外接程序并进行自动安装,你只需要MSI。