我如何从 cygwin 运行 msiexec 来解压 msi?

我如何从 cygwin 运行 msiexec 来解压 msi?

我需要在 cygwin makefile 中解压(不是执行,而是解压)msi。

如果我从 Windows 命令提示符调用以下命令

msiexec /a package.msi /qn TARGETDIR=C:\foo

该包已正确部署在 C:\foo 中。但是,如果我尝试从 cygwin 提示符执行完全相同的操作

msiexec /a package.msi /qn TARGETDIR=C:\\foobaz

我得到的只是说明用法的 msiexec 窗口。我可以用两种方法解决这个问题,要么像上面那样成功运行 msiexec,要么从 makefile 启动 windows 命令,并让它调用该操作。

有任何想法吗?

答案1

找到了。我需要调用

run msiexec /a package.msi /qn TARGETDIR=C:\\foobaz

在 cygwin 中。我不知道为什么,但它确实有效。

答案2

msi 可以用大多数 zip 实用程序(如 7-Zip)解压。它将包含许多与 Linux 环境无关的内容(如注册表项等),但您可以获取任何文本、源代码或 exe 文件。

答案3

我也遇到了同样的问题,在看到这个之后,我自己就弄清楚了两个选项(或窗口方面的开关)“ /a”和“ /qn”的斜杠应该是双斜杠“ //”:

msiexec //a package.msi //qn TARGETDIR=C:\\foobaz

这应该可行,至少在我的计算机上可行。

相关内容