为Mac计算机创建软件数据包

对于希望使用Desktop Central部署的每个软件,都应该创建一个包。该包包含软件应用程序的详细信息、安装位置和安装/卸载命令。创建的包可以用于以后将软件部署到任意数量的计算机上。需要部署到目标计算机的软件应用程序应该被上传到特定的位置。这应该只能通过“HTTP共享”访问。与Windows不同,“网络共享”不适用于Mac。  管理员应该在创建软件包时指定HTTP路径。

可安装文件只能以.dmg格式上传。如果您想上传.pkg/.mpkg / .app格式的可安装文件或上传多个可安装文件,需要将其压缩并以.zip,  .tar, .gz, .bz2, .tgz, .tbz or .dmg格式上传。

 

用单个文件创建软件包

 使用单个可安装文件创建要安装的包非常容易。请参考以下步骤:

  1. 进入软件部署 -> 添加包-> Mac。

  2. 为包指定名称,并提供包的详细信息供您个人参考。

  3. 点击安装页签

  4. 点击上传文件下的浏览,上传需要部署到目标计算机的可安装文件(软件应用程序)。可安装文件应该是.pkg/.mpkg.app格式。

您已经成功地使用单个安装文件创建了一个包。

用多个文件创建软件包

创建包含多个文件的包的步骤与创建包含单个安装文件的包相同。有些软件应用程序(如Office)需要多个安装文件,在这种情况下,管理员可以上传可安装文件的.zip,  .tar, .gz, .bz2, .tgz, .tbz 或 .dmg格式。  这些文件将被解压以识别 .pkg/.mpkg 或 .app文件。   这些文件是一样的

使用安装命令

如果希望自定义安装或更改默认安装位置,管理员可以使用安装命令。如果未指定安装命令,则将使用默认安装命令安装软件应用程序。以下是如何使用命令更改默认安装位置的例子:

对于 pkg: installer -pkg "/Volumes/Wireshark/Wireshark 1.10.0 Intel 64.pkg -target "/Volumes/Drive1"
对于 app: ditto "/Volumes/Appcleaner/appcleaner.app" "/TargetPath/appcleaner.app"

如果正在以压缩格式上传可安装文件,则只能在安装命令中指定可安装文件的名称。

卸载软件

可以通过指定适当的安装位置来删除软件。如果需要删除多个文件,则可以添加多个位置或使用脚本进行卸载。  卸载命令可以在“高级选项”下指定。如果您编写了自己的脚本,那么建议在将其添加到软件包之前对其进行测试。

脚本可以以.sh (shell脚本)、.scpt(Apple脚本)、.pl(Perl脚本)、.py(Phyton脚本)等格式上传。

为所有用户移除软件

使用下面的命令为所有用户移除一个软件:
"/Library/Application Support/Google/Chrome"

上面是一个示例命令,用于为所有用户移除“谷歌Chrome”

为特定用户移除软件

使用下面的命令为特定用户移除一个软件:
"/Users/user1/Library/Application Support/Google/Chrome"
上面是一个示例命令,用于为特定用户'user1’移除“谷歌Chrome”

为当前登录的用户移除软件

使用下面的命令为当前登录用户移除一个软件:
"/Library/Application Support/Google/Chrome"

用首选项移除软件

一个软件可以用它的首选项移除。如果有多个文件需要移除,那么您可以指定需要移除的文件/文件夹的多个位置,或者使用脚本进行卸载。  下面的shell脚本是卸载脚本的一个示例,用于从多台计算机中移除带有依赖文件的软件应用程序。大多数供应商提供用于卸载的脚本,如果您编写自己的脚本,那么建议在将其添加到软件包之前对其进行测试。


从多台计算机中移除Office及其依赖文件/文件夹的示例脚本

#!/bin/sh
osascript -e 'tell application "Microsoft Database Daemon" to quit'
rm -R '/Applications/Microsoft Communicator.app/'
rm -R '/Applications/Microsoft Messenger.app/'
rm -R '/Applications/Microsoft Office 2011/'
rm -R '/Applications/Remote Desktop Connection.app/'
rm -R '/Library/Application Support/Microsoft/'
rm -R '/Library/Automator/*Excel*'
rm -R '/Library/Automator/*Office*'
rm -R '/Library/Automator/*Outlook*'
rm -R '/Library/Automator/*PowerPoint*'
rm -R '/Library/Automator/*Word*'
rm -R '/Library/Automator/Add New Sheet to Workbooks.action'
rm -R '/Library/Automator/Create List from Data in Workbook.action'
rm -R '/Library/Automator/Create Table from Data in Workbook.action'
rm -R '/Library/Automator/Get Parent Presentations of Slides.action'
rm -R '/Library/Automator/Get Parent Workbooks.action'
rm -R '/Library/Automator/Set Document Settings.action'
rm -R '/Library/Fonts/Microsoft/'
rm -R '/Library/Internet Plug-Ins/*SharePoint*'
rm -R '/Library/LaunchDaemons/*Microsoft*'
rm -R '/Library/Preferences/*Microsoft*'
rm -R '/Library/PrivilegedHelperTools/*Microsoft*'
OFFICERECEIPTS=$(pkgutil --pkgs=com.microsoft.office*)
for ARECEIPT in $OFFICERECEIPTS
do
   pkgutil --forget $ARECEIPT
done