我正在尝试寻找一种在装有 Windows 7/Office 2010 的计算机上静默部署 Lync 2013 标准和基本客户端的好方法,但遇到了一些障碍。
1) 我成功安装了标准客户端(从 VL 下载),但在自动安装时出现错误“您的系统不支持此安装包的语言”。我使用的语法是:
安装.exe /管理员文件 lyncstd.msp /配置 lync.ww\config.xml
我使用 setup /admin 创建了 MSP 并对其进行了完整安装。我还使用以下语法创建了 config.mxl 文件:
<Configuration Product="Lync">
<Display Level="none" CompletionNotice="yes" SuppressModal="yes" AcceptEula="yes" />
<Logging Type="verbose" Path="%temp%" Template="Microsoft Office Lync Setup(*).txt" />
<USERNAME Value="Me" />
<COMPANYNAME Value="My company" />
<INSTALLLOCATION Value="%programfiles%\Microsoft Office" />
<DistributionPoint Location="\\vm-fs\public\Lync\Standard" />
<OptionState Id="LOBiMain" State="absent" Children="force" /> -->
<Setting Id="SETUP_REBOOT" Value="IfNeeded" />
所以这对我来说毫无意义——就像为什么从 GUI 安装不会出现这样的问题,但自动化突然引发了痔疮一样。在安装日志中,我看到最后一条消息:“您的系统不支持此安装程序包的语言”,因此我尝试在管理员安装模式下禁用语言支持选项,并删除以下早期版本的“Microsoft Office 多语言用户界面包”。
2)或者唯一的方法是使用在计算机配置>策略> Windows 设置>脚本中运行批处理文件的 GPO 来安装它,然后使用带有 adminfile 和 configfile 标签的 setup.exe 运行静默安装?
谢谢!
答案1
为了解决使用 MSP 文件部署的问题,您可以使用启动脚本直接调用 exe 并利用 xml 配置获取附加参数/日志记录。
首先,创建一个共享文件夹并将 Lync 2013 文件放入其中。确保授予“域计算机”对此文件夹的读写权限(如果需要记录,则授予写入权限),并授予其 NTFS 和共享权限。
如果您想要日志记录(并且确实需要),请在 Install 文件夹中为日志创建一个文件夹。我命名了我的文件夹InstallLogFiles
(是的,非常有创意)。
在安装文件夹中,有一个lync.www
包含该config.xml
文件的文件夹。编辑该文件并包含以下内容:
<Display Level="none" CompletionNotice="no" SuppressModal="yes" AcceptEula="yes" />
<Logging Type="standard" Path="\\SERVER\SHARE\InstallLogFiles" Template="%computername%-Install_Log.txt" />
<!-- <USERNAME Value="Customer" /> -->
<!-- <COMPANYNAME Value="MyCompany" /> -->
<!-- <INSTALLLOCATION Value="%programfiles%\Microsoft Office" /> -->
<!-- <LIS CACHEACTION="CacheOnly" /> -->
<LIS SOURCELIST="\\SERVER\SHARE" />
<DistributionPoint Location="\\SERVER\SHARE" />
<!-- <OptionState Id="OptionID" State="absent" Children="force" /> -->
<Setting Id="SETUP_REBOOT" Value="never" />
<!-- <Command Path="%windir%\system32\msiexec.exe" Args="/i \\server\share\my.msi" QuietArg="/q" ChainPosition="after" Execute="install" /> -->
您可以根据需要更改其他值,但带有 \SERVER\SHARE\ 的行应指向您的安装文件夹。
接下来,您需要一个启动脚本在工作站上运行以调用安装。以下代码可根据需要进行编辑并保存为 .bat 文件。然后应将该文件作为启动脚本添加到组策略中。为了简化部署,您可以将策略的范围设置为仅可由 AD 组读取。然后,您可以将应安装的计算机添加到 AD 组。
代码:
setlocal
REM *********************************************************************
REM Environment customization begins here. Modify variables below.
REM *********************************************************************
REM Get ProductName from the Office product's core Setup.xml file, and then add "office15." as a prefix.
set ProductName=Office15.LYNC
REM Set DeployServer to a network-accessible location containing the Office source files.
set DeployServer=\\SERVER\SHARE
REM Set ConfigFile to the configuration file to be used for deployment (required)
set ConfigFile=\\SERVER\SHARE\lync.WW\config.xml
REM Set LogLocation to a central directory to collect log files.
set LogLocation=\\SERVER\SHARE\InstallLogFiles
REM *********************************************************************
REM Deployment code begins here. Do not modify anything below this line.
REM *********************************************************************
REM Skip install if OS is not Win 7 or above
IF NOT "%ProgramFiles(x86)%"=="" (goto Office2013) else (goto XP)
:Office2013
REM Check to see if Office 2013 is installed, if so Exit
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Office15.PROPLUS
echo %date% %time% Checking if Office 2013 is installed code is %errorlevel%.>> %LogLocation%\%computername%.txt
if %errorlevel%==1 (goto ARP64) else (goto End)
REM Operating system is X64. Check if Lync is already installed in emulated Wow6432 uninstall key
:ARP64
reg query HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432NODE\Microsoft\Windows\CurrentVersion\Uninstall\%ProductName%
echo %date% %time% Checking if Lync is installed code is %errorlevel%.>> %LogLocation%\%computername%.txt
if %errorlevel%==1 (goto Office) else (goto End)
REM Check to see if Office 2013 is installed, if so Exit
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\Office15.PROPLUS
echo %date% %time% Checking if Office 2013 is installed code is %errorlevel%.>> %LogLocation%\%computername%.txt
if %errorlevel%==1 (goto Office) else (goto End)
REM If 1 returned, the product was not found. Run setup here.
:Office
echo %date% %time% Deployment triggered on %computername%.>> %LogLocation%\%computername%.txt
start /wait %DeployServer%\setup.exe /config %ConfigFile%
echo %date% %time% Setup ended with error code %errorlevel%. >> %LogLocation%\%computername%.txt
exit
:XP
echo %date% %time% Machine is Windows XP - Exiting >> %LogLocation%\%computername%.txt
exit
REM If 0 or other was returned, the product was found or another error occurred. Do nothing.
:End
exit
Endlocal
上述代码将检查计算机是否为 XP,如果是则退出/记录。
检查 Office 2013 是否已安装,如果是则退出/记录。
检查 Lync 2013 Standalone 是否已安装,如果是则退出。
如果不是,它将启动安装并记录其步骤。实际的软件安装日志也将存在,并且两者都设置为使用变量%computername%
来帮助跟踪问题。
我已经通过这种方式将 Lync 部署到数百台机器上,没有任何问题。