提取 msi 时出现错误 2203

问题描述 投票:0回答:8

我在使用以下命令提取 msi 时收到 2203 错误。

msiexec /a "C:\Test\Installer.msi" /QB targetDIR="C:\Test\Eval" /LV* "C:\Test\INST_Logfile.log"

回答时请考虑以下几点:

  • 登录用户和SYSTEM帐户具有完全访问权限
    %TEMP%,C:\Windows\Installer。

  • msi 未标记为只读。

  • 检查了 Windows 安装程序服务,它工作正常。

  • 尝试注销并注册 msiexec

           MSIEXEC /UNREGISTER
           MSIEXEC /REGSERVER
    
  • 重新启动系统

以下是日志中捕获的错误:

MSI (s) (88:A4) [14:09:27:551]: Executing op: DatabaseCopy(DatabasePath=C:\Test\Installer.msi,,CabinetStreams=cab1.cab,AdminDestFolder=C:\Test\,)
MSI (s) (88:A4) [14:09:27:551]: Note: 1: 2203 2: C:\Test\Installer.msi 3: -2147287008 
DEBUG: Error 2203:  Database: C:\Test\Installer.msi. Cannot open database file. System error -2147287008
MSI (s) (88:A4) [14:09:34:634]: Product: Installer -- The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2203. The arguments are: C:\Test\Installer.msi, -2147287008,

installation windows-installer
8个回答
47
投票

由于我的一些愚蠢行为,我遇到了这个问题,但我想我会发布以防其他人尝试这个。对于此提取命令行(以及我认为的其他命令行),不要将要提取的 msi 与 TARGETDIR 放在同一文件夹中。 Windows 安装程序似乎在提取过程中锁定了该文件夹,因此内容无法写入同一文件夹。


7
投票

伙计们,答案很好!我一直在寻找更深层次的错误代码。无法打开数据库文件。系统错误-2147287008。哪个是更通用的错误 2203 数据库的一部分?这是由于尝试将 MSI 提取到与 MSI 本身相同的位置而导致的。希望这将有助于其他通过此错误代码进行搜索。


5
投票

机器上安装了趋势科技防病毒软件,它阻止了 msi 提取。因此,一旦关闭趋势科技防病毒软件,安装程序就会成功运行。

谢谢大家的回答


3
投票

在我的例子中,错误 2203 是由 SYSTEM 无法写入我的 %TEMP% 目录引起的。 (它只有我的用户帐户的权限。)授予系统修改权限解决了问题。


1
投票

我尝试安装 MySQL 社区服务器,安装程序将停止并显示 2203 错误代码。

我在Windows环境变量部分有PATH变量,指的是

C:\Temp
处的temp文件夹,但C盘根目录下没有这样的文件夹。在
C:\Temp
创建 Temp 文件夹后,安装程序可以继续安装。


1
投票

验证您的变量环境(系统和用户)TMPTEMP是否配置良好。 。这些文件夹应该具有完全控制权限。


1
投票

我必须以管理员身份运行

cmd
,然后在该窗口中运行 msiexec。使用
/a
似乎没有达到我需要的效果。

我最终在高架

/i
中使用
cmd
运行它,它成功了。

(这并不能解决OP的问题,但发布它以防它帮助其他人解决同样的问题。)


0
投票

我刚刚通过将

C:\Windows\Temp
设为指向我正确的临时目录 E:\temp 的 NTFS 链接(
junction
)获得了 2203。
%TMP%
%TEMP%
都设置为
E:\temp
,所以MSI没有业务考虑
C:\Windows\Temp
,但它这样做的原因一定超出了我的理解......

© www.soinside.com 2019 - 2024. All rights reserved.