我们正在运行 Windows 2008。
我们有一个名为 ImportService 的 Windows 服务,它是通过 MSI 包安装的。
大约 3 个月前安装了以前的版本,没有问题。
现在什么时候卸载以前的版本。当我们尝试安装新版本时,我们收到以下错误:
’ImportService’ is not a valid short file name
Run Code Online (Sandbox Code Playgroud)
然后我们尝试重新安装旧版本并得到相同的错误。因此,我们认为夏季期间进行了更新,更改了相关设置。
问题是我们如何允许这是一个有效的文件名?
我在 gpo 软件安装中选择升级来升级现有的软件包。我不更换包裹。
旧包和升级包是否会安装在加入域的新计算机上?
如果 MSI 安装设置为按用户安装,并且 3 个不同的用户登录并且每个用户都安装该应用程序,会发生什么情况?Windows Installer 会识别出相同的 MSI 已经安装到 Program Files 中,因此不需要再次安装吗?
如果 3 个用户之一在登录时卸载该应用程序,会发生什么情况?Windows Installer 是否会识别出其他 2 个用户仍然需要安装该应用程序,因此不会在 Program Files 中保留应用程序文件夹?
我正在使用 powershell 脚本自动无人值守地检索和安装指定的 .msi 包,但如果调用命令时出现语法错误,尽管存在 /quiet 和/或 /passive,msiexec 将无限期地等待对其帮助显示的确定单击.
目前我正在调用它:
(start-process -FilePath "msiexec" -ArgumentList "/i <path_to_package> /quiet /passive" -PassThru -Wait).ExitCode
Run Code Online (Sandbox Code Playgroud)
有没有办法禁用 msiexec 帮助显示?
我已经使用 SCCM 2012 向我的用户部署了 Autodesk Revit 2014。安装使用底层“RVT2014.msi”。现在我想推出更新版本 2,它是一个“.msp”文件。我希望更新在用户的机器上静默运行,但在安装过程中,它会提示输入原始安装 msi 位置并显示一条消息:
您尝试使用的功能位于不可用的网络资源上。
不幸的是,它尝试使用的现有源不再存在,因此我需要将其指向“RVT2014.msi”所在的新位置。我能够手动指定此位置,但我不想为 80 多个用户执行此操作,并且更愿意更新 SCCM 部署,以便它会自动且静默地在其新位置查找“RVT2014.msi”。
是否有任何方法可以通过将命令行开关传递给 msiexec 或通过其他方法来完成此操作?
我正在尝试使用 MSI 部署类型将 Splunk UniversalForwarder 作为 SCCM 应用程序部署到一小组测试服务器,并且遇到了 MSI 安装程序的异常混乱问题。
部署类型本身非常简单。我将 MSI 文件 (splunkforwarder-6.2.1-245427-x64-release.msi) 上传到 SCCM 站点服务器,并让检测方法从 MSI 自动填充。我所做的唯一一件事就是更改安装字符串以包含以下参数:
msiexec.exe /lv splunkinstall.log /i "splunkforwarder-6.2.1-245427-x64-release.msi" AGREETOLICENSE=YES DEPLOYMENT_SERVER="splunkd.security.contoso.com" /quiet /norestart /qn
Run Code Online (Sandbox Code Playgroud)
由于包含/lv开关,我可以转到 C:\Windows\CCMcache 文件夹并查看安装日志:
GetPreviousSettings: Error: DetermineContextForAllProducts failed witht: 0x65b.
GetPreviousSettings: Error 0x80004005: Failed to GetInstalledSplunkSettings.
GetPreviousSettings: Info: Leave GetPreviousSettings: 0x80004005.
CustomAction GetPreviousSettings returned actual error code 1603 (note this may not be 100% accurate if translation happened inside sandbox)
Action ended 14:20:23: GetPreviousSettings. Return value 3.
Run Code Online (Sandbox Code Playgroud)
有点谷歌功能,我在Splunk 的社区支持上 …
创建 MSI 包以通过网络部署注册表项而不是使用 GPO 的最佳方法是什么。
是否可以将多个安装程序(msi、mst)链接到一个 GPO 以一次部署多个包?
我正在尝试编写 Web 部署服务 (WebDeploy_x64_en-US) 的安装脚本。有一个安静标志 (/quiet),但默认情况下它不安装远程管理服务。我做了一个“WebDeploy_x64_en-US /?” 但我看不到任何用于选择功能的命令行参数。
有谁知道如何让 WebDeploy_x64_en-US.msi 安静地安装所有功能?
奥斯卡
首先,我不能使用组策略,因为我们的团队不管理它。该公司是一家庞大的 FTSE 公司,拥有一支涵盖您能想到的 IT 各个方面的团队。
我们的团队需要一种通过批处理文件或使用 Windows Installer 和 .msi 文件的脚本远程安装程序的方法。
到目前为止,我已经成功地使用 psexec 安装了 Java(见下文)
psexec \\pcname -u *username* -p *password* -i
msiexec.exe /a "msilocation\install.msi"
Run Code Online (Sandbox Code Playgroud)
这没有任何问题。但是我想要一些比这更自动化的东西。
但是,我想要做的是能够从我的机器运行脚本或批处理文件,以便在列出的所有远程工作站上安装 msi。我很确定你可以在批处理文件中列出工作站,但我可能错了。
老实说,如果我必须在脚本或批处理文件中进行修复,我不会大惊小怪。我只是不能使用组策略等。
msi ×10
deployment ×3
group-policy ×2
sccm ×2
windows ×2
batch-file ×1
filesystems ×1
installation ×1
msdeploy ×1
powershell ×1
pstools ×1
sccm-2012-r2 ×1
scripting ×1
splunk ×1
users ×1