为什么.MSI文件以只读方式打开?

时间:2014-07-01 20:24:08

标签: installer windows-installer acl orca

我正在尝试打开 .MSI安装程序包文件进行修改。每当我尝试打开它时,它都会以只读模式打开。我通过OrcaInstEd看到这个,或者直接通过代码打开文件:

 `MsiOpenDatabase()` (ERROR_OPEN_FAILED with MSIDBOPEN_DIRECT or 
                      MSIDBOPEN_TRANSACT persistence modes).
  • 文件本身设置了只读属性(事实上,设置了 no 属性)
  • 我正在使用具有管理员组访问权限的帐户
  • 据我所知,没有其他进程打开文件
  • 正在进行或暂停安装
  • 我可以将文件复制到另一个位置,然后在那里打开它进行读/写。但原来,我不能碰

提前感谢您的帮助。

4 个答案:

答案 0 :(得分:1)

我的猜测是,这是由下列因素之一引起的:

  • 自定义NTFS访问权限 - 为其安全描述符中的文件定义
  • 该文件可能会被阻止" - 在通过 Internet Explorer 下载后标有特殊标记。

后者的分辨率是右键单击文件并选择属性,然后单击属性页底部的解除阻止按钮,然后按确定。

通过进入安全性,以类似的方式完成自定义NTFS权限的解析 该文件的属性页面的选项卡,但只是复制和粘贴文件并使用具有默认安全性的新副本更容易。

答案 1 :(得分:1)

找到它。

@Glytzhkof,你几乎已经拥有了它,但有一个我不知道的细节,并且遗漏了。这是一个位于"访问保护"下的文件夹中的软件包。通过我系统的反病毒程序:一个阻止修改关键系统和AV文件的文件系统钩子。暂时关闭访问保护,文件全开。

幸运的是,我的一个队友对此有一些经验,并建议我尝试一下。宾果

谢谢,所有。

答案 2 :(得分:0)

我为使其工作所做的是首先创建MSI文件的备份,然后打开该备份。它对我有用

答案 3 :(得分:0)

尝试关闭/杀死可能会干扰的过程,例如:

  • 其他正在运行的Install shield实例
  • Installshield更新程序
  • Installshield许可服务
  • 防病毒