- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到以下有问题的情况:
有问题的场景描述开始----------------------------------------
我使用 msiexec 通过以下方式以安静模式安装软件包:
msiexec /i c:\mypackage.msi /quiet
现在我已经安装了该软件包。假设我再次输入上面的命令:
msiexec /i c:\mypackage.msi /quiet
有问题的场景描述结束----------------------------------------
现在由于软件包已经安装,安装应该会失败。但我没有任何迹象表明这一点。
我使用日志选项来获取日志:
msiexec /i c:\mypackage.msi /quiet /l* log.txt
当发生错误时,我确实在日志中看到它们,但在上面描述的场景中,日志是空的。系统事件日志中也没有写入任何内容。所以我的问题是,如何获得安装(第二个)未进行的指示?
注释:
我不愿意通过编写一个批处理脚本来解决这个问题,该脚本将在调用 msiexec 之前检查软件包是否已安装。原因是它与我们客户的部署要求相矛盾。
我有一个DLL自定义操作数据,在第二次时,DLL没有被激活,所以我不能使用DLL来将失败写入某处。
最佳答案
如果软件包已安装,则安装不会失败,而是“已成功重新配置”
为了检查系统上是否安装了 Windows Installer 软件包,您最好使用 Windows SDK(而不是批处理文件) - 这是一个示例脚本,它会迭代已安装产品的列表并触发 MSIEXEC如果尚未安装。 (此示例按名称搜索,或者您也可以按包代码搜索)
Option Explicit
Dim productName:productName = "My Awesome Product"
Dim installer : Set installer = Nothing
Set installer = Wscript.CreateObject("WindowsInstaller.Installer")
Dim productCode, property, value, message
For Each productCode In installer.Products
If InStr(1, LCase(installer.ProductInfo(productCode, "ProductName")), LCase(productName)) Then Exit For
Next
If IsEmpty(productCode) Then
Dim WshShell, oExec
Set WshShell = CreateObject("WScript.Shell")
WshShell.Exec("msiexec /i mypackage.msi /qb")
Else
Wscript.Echo productName & " is already installed."
Wscript.Quit 2
End If
关于installation - 当软件包已安装时 msiexec 安静安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/945425/
You can run gdb without printing the front material, which describes gdb's non-warranty, by specifyi
我有一个 ant 构建文件,它通常在完全不同的环境中运行。默认情况下,我正在寻找与使用相同的行为: ant -q 但是,由于某些团队成员的配置不同,因此在每个人的环境中指定 -q 选项并不容易以统一的
我正在使用一个存储库,其中包含许多使用 create-react-app 创建的 Node 包,所有这些都是由 CI 系统构建和测试的。每个包的构建/测试,使用 react-scripts build
我读过有关浮点的内容,并且了解 NaN 可能是由运算产生的。但我无法理解这些到底是什么概念。它们有什么区别? C++编程时可以生成哪一个?作为一名程序员,我可以编写一个导致 sNaN 的程序吗? 最佳
我是一名优秀的程序员,十分优秀!