Execute ClickOnce application located on share, through HTTP?
-
13-09-2019 - |
Question
i have a ClickOnce application (online only) which is deployed on a network share. People can run the application by creating a shortcut to
i:\ApplicationDirectory\ApplicationName.application
where i
is the letter of the drive of the networkshare.
I want to start the application over HTTP. For this, I need the .Application file to be accessible through my webserver. However I am unable to select the ApplicationDirectory as a virtual directory for IIS. I tried copying the .Application file to a virtual IIS path, but this makes the deployment corrupt (i also updated application_files reference in the .Application file). Is there a(nother) way to start a ClickOnce application, deployed on a network share, over HTTP?
Solution
- First find your ClickonceKey.pfx, in other words the key used to sign assemblies.
- Then find mage.exe, the utility for signing manifests that's part of the .NET Framework SDK. For VS2005, it can be found at %ProgramFiles%\Microsoft Visual Studio 8\SDK\v2.0\Bin.
- Then create a batch file to execute mage.exe.
- Then copy the contents of the network share deployment folder to a new virtual directory on the web server.
- Finally, run the batch file.
The batch file should look something like this:
mage.exe
-update >>path to your application manifest in the virtual directory<<
-providerurl >>location of application manifest virtual directory<<
-certfile Clickoncekey.pfx -password >>your password<<