2014-07-01 119 views
1

我试图打开一个.MSI安装程序包文件来修改它。无论何时我尝试打开它,它都会以只读模式打开。我认为这与Orca,与InstEd,或通过代码直接打开文件时:.MSI文件为什么打开只读?

`MsiOpenDatabase()` (ERROR_OPEN_FAILED with MSIDBOPEN_DIRECT or 
         MSIDBOPEN_TRANSACT persistence modes). 
  • 文件本身并有只读属性设置(其实,有没有属性设置)
  • 我使用同Administrators组访问
  • 至于我可以告诉一个帐户,没有其他进程打开文件
  • 没有安装AR e正在进行或暂停
  • 我可以将该文件复制到另一个位置,并在其中读取/写入。但原来,我不能触摸

在此先感谢您的帮助。

+0

你运行Orca作为管理员? – SLaks

回答

1

我的猜测是,这是由以下因素造成:

  • 自定义NTFS访问权限 - 在其安全描述符文件中定义
  • 该文件可能被“封杀” - 通过Internet Explorer下载后用特殊标记标记。

后者的解决方法是右键单击文件,并选择属性,然后单击疏通按钮在属性页面底部,然后按确定。

通过进入该文件的属性页的安全性 选项卡,可以以类似的方式完成自定义NTFS权限的分辨率,但只需复制和粘贴文件并使用默认的新副本安全。

1

找到它。

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

幸运的是,我的一个队友有一些这方面的经验,并建议我尝试一下。答对了。

感谢所有。

+0

这是很好的信息。感谢分享。 –

+0

我敢打赌,它可能会阻止vbscript自定义操作! :) –

0

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