2012-08-30 64 views
0

我爲WCF/Silverlight應用程序創建了一個安裝程序。直到用戶將安裝路徑更改爲C:\ Program Files,才能正常工作。所有其他路徑工作正常。WIX - 安裝程序失敗,錯誤爲0x80070005:無法爲對象設置安全信息

未能設置對象的安全信息:\

這是在Windows 2008 Server R2 \程序文件(x86):C。即使用戶選擇C:\ Program Files文件\日誌顯示 C:\ Program Files文件(x86)的\從安裝日誌

最後幾行:

MSI(S)(90 :08)[13:22:10:3​​34]:LocalSQLConfigDataSource在 遠程上下文中返回1。 MSI(s)(90:08)[13:22:10:3​​44]:執行op: ActionStart(Name = ExecSecureObjects ,,)Action 13:22:10: ExecSecureObjects。 MSI(S)(90:08)[13:22:10:3​​53]:執行運算: CustomActionSchedule(動作= ExecSecureObjects,操作類型= 3073,源= BinaryData,目標= ExecSecureObjects,CustomActionData = C:\程序 文件( x86)\ CreateFolderEveryone269221888)MSI(s)(90:B0) [13:22:10:3​​58]:調用遠程自定義動作。 DLL: C:\ WINDOWS \安裝\ MSIF980.tmp,入口點:ExecSecureObjects ExecSecureObjects:進入ExecSecureObjects在 C:\ WINDOWS \安裝\ MSIF980.tmp,版本3.6.3005.0 ExecSecureObjects:保護對象:C:\ Program Files文件(86)\型號: CreateFolder用戶:每個人ExecSecureObjects:錯誤0X80070005: 未能設置對象的安全信息:C:\ Program Files文件(x86)的\

回答

0

32位安裝程序無法寫入64位PROGRAMFILES 。這需要一個64位MSI。

爲什麼要更改Program Files文件夾的權限?這對操作系統來說非常有侵略性。

+0

如何使安裝程序既是32位又是64位? 更改權限不是我的意圖,我不確定安裝程序爲什麼要嘗試它。 – gangt

+0

MSI並未正式支持混合32/64bit msi。正式的,你必須創建2個MSI,並使用引導程序將它們鏈接在一起。非正式地說,有一些黑客可以顛覆設計。 –

相關問題