如何使用两个命令行开关值将 msi 部署到不同的组

如何使用两个命令行开关值将 msi 部署到不同的组

我在 sccm 中创建了一个具有 MSI 部署类型的应用程序。作为“程序”=>“安装程序”和“卸载程序”下的部署类型属性的一部分,我可以指定要执行的 msi 命令行语句(包括开关)。我需要部署 A,它进入组 A,并且没有其他命令行开关。我需要部署 B,它进入组 B,并且有一个额外的命令行开关 ADMINUSER=1。命令行开关由 msi(我开发的内部程序)用于确定安装哪个文档文件(普通用户或管理员用户)。

我知道我可以制作两个完全独立的应用程序,但这样效率很低,因为我经常更新我的应用程序。如果每次更新时都必须制作两个不同的应用程序,那将非常低效。我想做的是制作两个使用两种不同部署类型的不同部署,但据我所知,sccm 的工作方式并非如此。我先在网上浏览了一下,但 sccm 的结果和文档很糟糕。

我该如何解决我的问题?

答案1

不幸的是,您无法使用单个程序执行此操作。但是,您可以使用多个程序通过单个包(文件组,在您的情况下为 msi)执行此操作。使用这种方法,您不必在更新包时更新程序。包只是文件组(在大多数情况下),程序是实际执行的命令。在您的情况下,我会采用这种方法:

1)您可以创建两个单独的安装程序,并将它们宣传到两个不同的集合。请记住,这些不是单独的包,而是单个包内的程序。唯一需要更改程序的情况(实际上这很简单)是安装包的命令发生更改时。因此,如果包 A 是,script.msi我会为该包创建两个程序,

程序 1,其命令是msiexec /i script.msi /qb ALLUSERS=1

程序 2 的命令是msiexec /i script.msi

然后我将部署两个程式到各自的集合。如果包 A 必须更新为 的新版本script.msi,我只需确保名称保持不变,然后用最新版本更新分发点。当然,您可以发送新的必需部署,以确保客户端拥有最新版本,但不需要两个单独的包。

相关内容