0

当 ClickOnce 部署应用程序时,它会生成一个允许您执行应用程序的 .application 文件,因此当我告诉他调用第一个文件(来自 ClickOnce 的 .application 文件时,主应用程序是使用 Fx1.1 在 C++.Net 2003 上构建的部署 C# 3.0 应用程序)他不知道如何¿?!

我试图编写一些代码片段,下面的代码无法“打开”从 ClickOnce 生成的 .application 文件。谢谢

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();

         }
4

1 回答 1

1

我不太清楚您正在寻找什么,但据我所知 ClickOnce 它并不意味着用于部署 VC++ 应用程序。

请参阅Visual C++ 的 ClickOnce 部署

编辑:

在您的代码示例中,有一件事让我大吃一惊:您没有转义“\”字符(这是 C++ 中的特殊字符),在这种情况下,您提供的路径将无效。请像这样重试:


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

我之前忽略的另一件事是,虽然您可以使用 System::Diagnostics::Process 启动 ClickOnce 应用程序安装程序,但它只能使用您最初安装应用程序的位置,而不是安装应用程序的位置。请参阅Process.StartInfo 文档中的备注部分

如果您已将应用程序安装在计算机上,您也可以使用.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();

我希望这有帮助!

于 2009-02-17T20:20:56.587 回答