2012-11-29 202 views
0

我們使用msi來安裝我們的程序。我們自定義安裝類似的代碼下面:安裝完成後以安裝用戶身份運行程序

using System; 
using System.Configuration.Install; 

[RunInstaller(true)] 
public partial class Installer1 : Installer 
{ 

    protected override void OnAfterInstall(IDictionary savedState) 
    { 
     base.OnAfterInstall(savedState); 
     MyProgram.Start(); 
    } 
} 

的問題是,因爲MSIEXEC被作爲SYSTEM運行該程序將啓動,以系統用戶。是否有一種明智的方式讓程序以最初執行msi而不是SYSTEM的用戶身份啓動?

回答

1

看看關於如何在安裝結束時啓動未提升的過程本條

start a non-elevated process at the end of the installation

另一種辦法是做到以下幾點

運行任何應用程序安裝完成後,右鍵單擊您的安裝項目,單擊自定義操作。然後右鍵單擊提交,添加自定義操作,然後選擇您想要運行的文件。請注意,它必須已經存在於您的應用程序文件夾中,因爲您仍在運行程序,所以您的情況不應該成爲問題。只需選擇您的項目的輸出。

然後,單擊此添加的.exe,並將InstallerClass更改爲false。這是至關重要的,因爲它會另外查找安裝程序。

相關問題