2014-03-19 102 views
2

我創建了一個msi軟件包,它可以將文件和文件夾從生產位置複製到用戶計算機,並在本地用戶計算機中註冊所需的dll。非管理員用戶的MSI安裝程序

本地用戶現在在任何機器上都沒有管理員權限。但我創建的安裝程序註冊一些DLL,這裏是問題。非管理員用戶嘗試運行安裝程序時,註冊邏輯失敗。我從我的系統管理員那裏得到了一些反饋到「我們需要將Installsheild權限從作爲'交互式用戶'執行更改爲'啓動用戶',這樣當MSI執行並調用installscript服務啓動它時將以啓動安裝程序的用戶身份啓動,而不是以無權安裝軟件的登錄用戶(標準用戶)啓動。「

我確實無法繼續處理此建議。有人能幫我嗎 。

感謝, 薩克斯

+0

[如何爲有限的(非管理員)用戶進行設置工作](http://stackoverflow.com/questions/4080131/how-to-make-a-setup-work-for-limited - 非管理員用戶) –

回答

1

如果我理解你的要求,InstallShield將12改爲安裝InstallScript MSI架構來避免這個問題;如果你可以升級和重建,這個問題應該會消失。

如果您無法升級,您可以在因特網上搜索條款,如isscript.msi launching user,以查找有關如何修改DCOM服務以作爲啓動用戶運行的建議。從相關AppId註冊表項中刪除「交互式用戶」值並不完全支持,但很多人都獲得了成功。

如果這些是您沒有控制權的第三方安裝,堆棧溢出不是正確的論壇。

1

爲什麼你需要installscript來註冊一個dll?有很多方法可以做到這一點,即使您只是使用您使用的任何安裝工具將Dll放入MSI文件的SelfReg表中。這甚至不是最好的方式,但它不需要installscript。

但是,您不能通過讓受限用戶執行安裝來執行受限用戶無法執行的操作來違反系統安全性。註冊HKLM將始終需要管理員權限。可以使用組策略將需要提升的設置展開給受限用戶的機器。如果您希望有限的用戶能夠安裝和使用您的應用程序,您需要重新設計它,因此無需創建或修改系統的限制區域,就像avik所描述的那樣。這也包括ProgramFiles文件夾。

1

這裏有幾個很好的答案,但似乎他們試圖回答不同的問題。這是不完全清楚,真正的問題是什麼:

1:邁克爾Urman指其中一個INSTALLSCRIPT自定義動作與交互式用戶而非啓動用戶運行,這可以觸發,可以使用InstallShield設置發生錯誤許可問題。如果您使用的是Installshield的新版本,則不應該是這個問題。這有一些舊的知識數據庫文章:Q108324Q108340

2:需要對計算機管理員訪問權限的設置不能運行的,除非你執行什麼作爲「提升的權限」指的是一個標準的用戶。實際上在安裝時臨時寫入MSI的大部分系統,但不是真正的管理員權限。

我在猜測你真正面對的問題是後者。在一家較大的公司,通常通過其軟件分銷系統強制提升權利。例如微軟的SCCM或SMS,因爲它曾經被稱爲。然而,有一個更基本的方法來獲得升級的設置,這裏解釋的方法是:http://support.microsoft.com/kb/259459/EN-US - 如Avik所示。

我沒有找到適當的鏈接來更改DCOM設置,但這裏是一個不同的產品:http://msdn.microsoft.com/en-us/library/windows/desktop/ms630816(v=vs.85).aspx。這個過程是相似的。

相關問題