2011-07-27 38 views
7

我正在爲Visual Studio 2008(針對C#項目設置&「部署」>「安裝項目」)開發的自定義安裝程序工作。我想在安裝完成後運行一個批處理文件(* .bat)。我怎樣才能做到這一點?如何在安裝完成後運行批處理腳本?

+0

我想知道爲什麼VS安裝程序允許我使用那裏DLL exe js vbs只。 – Cynede

回答

6

您將不得不擴展Installer類並覆蓋Committed事件。

這是example。希望你能夠找到如何在C#中運行.bat文件。

[RunInstaller(true)] 
public class ServiceInstaller : Installer 
{ 
    string strServiceName = "MyServiceName"; 

    public ServiceInstaller() 
    { 
     // ............. 

     this.Committed += new InstallEventHandler(ServiceInstaller_Committed); 
    } 

    void ServiceInstaller_Committed(object sender, InstallEventArgs e) 
    { 
     // Run your batch file 
    } 
} 

Custom Install Action是另一種選擇。 Here是一個類似的線程。

1

您可以使用cmd.exe運行批處理文件,無論如何它是執行批處理文件。

以此方式開始:cmd.exe /c <path-to-batch>\batchfile.bat

+0

在2010的安裝程序中 - 無法更改cmd.exe的源路徑,當cmd.exe的xp位置位於c:\ winnt \ system32中時失敗,但Windows 7位於c:\ windows \ system32我很難過 – pithhelmet

+0

@pithhelmet'%comspec%'環境變量存儲'cmd.exe'的完整路徑。 '%windir%'指向Windows目錄,則'%windir%\ system32 \ cmd.exe'正確指向'cmd.exe'。即使Windows不在'C:'驅動器上,它也能工作。由於'system32'列在'PATH'環境變量中,因此可以省略'cmd.exe'的完整路徑。 –

相關問題