2012-04-10 112 views
0

我建立的一個啓動另一個安裝程序(在它的提交階段)的安裝程序安裝程序 (的setup.exe和的.msi文件是放置在「BoardsControllerSetup」目錄)啓動另一個安裝程序中的安裝程序(setup.exe),程序將不會出現在名單

我自己,開發系統(運行W7專業),一切的花花公子

測試的另一個W7的機器上,記錄爲基本權限的用戶(我敢肯定權限是責備),第二個應用程序將不會出現在已安裝的程序列表中(也不會在桌面上創建它的圖標)。

(以後我需要從第一個內部啓動第二個應用程序,所以我希望能夠從註冊表中獲取它的安裝路徑 我總是可以嘗試使用安裝創建註冊表字符串路徑..但​​現在我真的好奇如何直接解決這個問題)。

任何和所有的幫助表示讚賞。

肖恩

 System.Diagnostics.Process cBoardsControllerSetupProcess = new System.Diagnostics.Process(); 
     startInfo = new System.Diagnostics.ProcessStartInfo(); 
     startInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; 
     startInfo.WorkingDirectory = Path.Combine(sInstallDir, "BoardsControllerSetup"); 
     startInfo.FileName = "setup.exe"; 
     cBoardsControllerSetupProcess.StartInfo = startInfo; 
     cBoardsControllerSetupProcess.Start(); 
+0

回來,一旦你確定它的用戶權限的問題。我們無法回答不完整的問題。 – 2012-04-10 16:03:39

+0

很酷的問題。你打開MSI日誌記錄,檢查應用程序的退出代碼,並使用特殊的開關權限? – 2012-04-10 17:41:29

回答

0

Windows安裝程序不支持在同一時間運行兩個基於MSI的安裝。所以很可能第二個安裝程序因爲主要安裝當前正在運行而失敗。它在一臺機器上工作的事實只是一個巧合。

唯一的(非推薦)的方式來運行,從InstallExecuteSequence另一個基於MSI的安裝InstallFinalizemsidbCustomActionTypeAsync and msidbCustomActionTypeContinue標誌後調度。這樣它將在主安裝完成後運行。

請注意,在安裝現有的包推薦的方法是將其添加爲先決條件。某些商業設置工具支持由MSI控制的基於特徵的先決條件,但大多數設置工具僅允許由EXE引導程序處理的先決條件。

+0

感謝您的詳細回覆。 – Oyiwai 2012-04-19 13:14:46

+0

小更新:我已經結束了只使用一個批處理文件來運行所有我需要安裝一個後使另一人是另一個簡單的無爭議的解決方案。 – Oyiwai 2012-05-03 13:11:44

相關問題