2014-07-01 177 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文件的備份,然後打開該備份。它爲我工作