Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is clickonce possible with regular c++ executable

I have a c++ console application which I would like to publish using clickonce.

When I run the mageui.exe tool and import the executable and dependent files to make an application manifest, it won't let me set the app.exe as the entry point. I can set the entry point, but when I click off the line and go to save, it clears the dialog and complains that I do not have a valid entry point.

If I save anyway, the entryPoint is empty on the resultant manifest. That makes clickonce fail because there is no valid entrypoint.

I've tried manually creating an entry point as follows:

  <entryPoint>
    <assemblyIdentity
        type='win32'
        name='My App'
        version='0.9.1.0'
        processorArchitecture='msil'
        language='en-US'/>
    <commandLine
        file="app.exe"
        parameters="run"/>
  </entryPoint>

That doesn't work either.

like image 690
Jon Avatar asked Jun 23 '09 21:06

Jon


People also ask

Does ClickOnce require admin rights?

ClickOnce applications are fundamentally low impact. Applications are completely self-contained & install per-user, meaning no-admin rights are required. You don't have to worry about a ClickOnce application breaking other applications. ClickOnce applications can be deployed via web servers, file servers or CDs.

Where can I host ClickOnce?

Normally the best way to host a ClickOnce Deployment is to deploy from a webserver. On the second page where it asks 3 options select the top one marked From a Website and type in the url of the web server where you want to deploy from (this needs to be the full uri inc virtual directory).

What is the purpose of ClickOnce deployment in C#?

ClickOnce is a deployment technology that enables you to create self-updating Windows-based applications that can be installed and run with minimal user interaction.


1 Answers

Between the "assembly identity" and setting the processor architecture to MSIL, it seems like you're telling it that the entry point is into a .NET assembly of some kind.

Unfortunately, from cursory searching it seems you cannot deploy an unmanaged/native application with clickonce. The entry point must be managed.

You can create a shim as described here.

like image 154
ravuya Avatar answered Oct 07 '22 16:10

ravuya