2009-02-17 70 views
0

當ClickOnce部署應用程序時,它會生成一個允許您執行應用程序的.application文件,因此主應用程序在C++。Net 2003上使用Fx1.1構建,我告訴他,調用第一個文件(ClickOnce Deployment C#3.0應用程序中的.application文件),他不知道怎麼做。使用System.Diagnostics C++。Net 2003 fx1.1

我嘗試寫一些代碼片段,下面着「開放」的。應用從ClickOnce的生成文件中的代碼..謝謝

private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { 
      System::Diagnostics::Process app ; 
      app.StartInfo->FileName = "C:\INFORME\SRIMedico.application"; 
      app.StartInfo->Arguments = ""; 
      app.Start(); 

     } 

回答

1

這不是對我來說很清楚究竟是什麼,你是尋找,但據我所知ClickOnce並不意味着用於部署VC++應用程序。

ClickOnce Deployment For Visual C++

編輯:

有一件事是,在你的代碼示例跳出我:你有沒有逃脫「\」字符(這是一個特殊的字符在C++),並在其中如果您提供的路徑無效。請重新嘗試這樣的:


    // .. rest of code in your sample ommited 
    app.StartInfo->FileName = "C:\\INFORME\\SRIMedico.application"; 
    // .. rest of code in your sample ommited 

我前面忽略的是,雖然你可以使用系統::診斷::進程以啓動ClickOnce應用程序的安裝程序,它僅使用了該位置您最初工作的另一件事從安裝應用程序的位置安裝應用程序。請參閱Remarks section in the Process.StartInfo documentation

您也可以使用.appref-ms應用程序參考文件啓動該應用程序(如果已將其安裝在計算機上)。假設這個文件位於C:\ INFORME \,你可以這樣寫:



    System::Diagnostics::Process^ app = gcnew System::Diagnostics::Process() 
    app->StartInfo->FileName = "C:\\INFORME\\SRIMedico.appref-ms"; 
    app->StartInfo->Arguments = ""; 
    app->StartInfo->CreateNoWindow = "false"; 
    app->Start(); 

我希望這有助於!

+0

SRIMedico是通過使用ClickOnce部署C#3.0應用程序生成的.application文件 – 2009-02-17 21:45:28