2010-01-22 38 views
0

我試圖在其他用戶的上下文中作爲OnAfterInstall中的最後一步啓動.bat文件。我通過使用用戶名,域和密碼作爲輸入的Process.Start重載來做到這一點。如果我不檢查安裝中的「每個人」,它工作正常。如果我選擇了「每個人」,我會以相同的用戶(管理員)拒絕訪問。如果我使用.start方法運行installment,只需使用proccess名稱就可以正常工作。以OnAfterInstall中的其他用戶身份啓動進程獲取訪問被拒絕

爲了測試這個,我做了一個Windows應用程序,以安裝後使用'Everyone'啓動進程的方式相同,並且工作正常。

有誰知道爲什麼我不能在OnAfterInstall中使用其他用戶上下文選擇「所有人」來訪問文件?

回答

0

最有可能的情況是,當你檢查每個你正在告訴安裝程序的人時,它不需要提升權限,所以它不會要求他們。即使在windows vista或7中作爲管理員運行,您的流程令牌也是用戶的流量令牌,直到UAC升級爲止。有一系列政策需要能夠撥打createprocessasuser這就是下面發生的事情。給所有人提供與上述API有關的所有政策,然後查看它是否有效。

相關問題