在不使用引导程序的情况下,在MSI包中部署Visual Studio Tools For Office 3.0运行时(EXE)

3
我已经创建了一个Word插件并创建了MSI包以便分发它。
使用http://msdn.microsoft.com/en-us/library/cc563937.aspx中的信息...
我已经测试了Setup.exe,插件正确安装。
问题在于,在我们的网络上部署插件时,我们的系统管理员需要将文件转换为MSI而不是exe。但是,在运行MSI时,需要首先安装先决条件(VSTOR.EXE)。默认情况下,这会要求我们运行setup.exe(boostrapper),以安装文件。
如果我能找到VSTOR.EXE的MSI(不幸的是我找不到),那么我们可以首先将其推送到所有机器上,因此先决条件将得到满足,bootstrapper将不会被调用。
有什么建议吗?
Chris
2个回答

1

如果您正在使用Visual Studio 2008 SP1,则以下是VSTO运行时安装信息:

Microsoft: VSTO Runtime 3.0, VSTO Runtime 3.0 SP1(两者都必须)

先安装VSTO 3.0,然后再安装SP1。这是引导程序使用的静默安装:
[vstor.exe] /q:a /c:"install /q /l"

如果您想在安装之前检查一些注册表值(以确定是否已安装),请查找以下内容(先是3.0,然后是SP1):
HKLM\Software\Microsoft\VSTO Runtime Setup\v9.0.21022\Install
HKLM\Software\Microsoft\VSTO Runtime Setup\v9.0.30729\Install


嗨Mike,感谢回复。我已经有了VSTO.exe文件,但我们无法在组织中部署.exe扩展名。我们的系统管理员需要一个.msi软件包。我正在考虑使用WIX,并尝试将VSTO安装与Addin项目合并。 - Chris

1

使用组策略部署vstor.exe(Visual Studio 2005 Office工具第二版运行时)。

  1. 将vstor.exe复制到共享文件夹中。将共享文件夹读取权限授予“域用户”。
  2. 创建一个GPO,并将其应用于适当的计算机组织单位(而不是用户OU)。
  3. 在OU中,修改启动脚本(计算机配置--> Windows设置-->脚本-->启动)。
  4. 使您的GPO运行以下脚本。将脚本命名为.vbs扩展名(这是一个VBScript)。您可能需要将其加密为.vbe文件,因为脚本包含密码。

此GPO和脚本已成功测试:

Option explicit
Dim oShell
Dim objFSO, strSourceFile, strTargetFile

strSourceFile = "\\servername\share_folder\vstor.exe"
strTargetFile = "c:\"

set oShell= Wscript.CreateObject("WScript.Shell")
Set objFSO = CreateObject("Scripting.FileSystemObject")

On Error Resume Next
If objFSO.FileExists( strTargetFile) Then
 Endend
Else 
 objFSO.CopyFile strSourceFile, strTargetFile
End If

oShell.Run "RunAs /noprofile /user:your_domain\administrative_account ""C:\vstor.exe /q"""
WScript.Sleep 100
oShell.Sendkeys "password_of_the_administrative_account~"

Endend:
Wscript.Quit

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接