静默安装 Lync 2013 Standard

静默安装 Lync 2013 Standard

我正在尝试寻找一种在装有 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%. &gt;&gt; %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 部署到数百台机器上,没有任何问题。

相关内容