views:

157

answers:

2

Hi,
I want to create an installer to put a Deployed ClickOnce application on an IIS Virtual Directory in order to have the application available for download. (In other words I want an installer that publishes my application on IIS.)

What I'm planing to do is:

  1. Deploy (manually) the app on a local folder;
  2. A web installer project gets the files from the deployed folder and creates a virtual directory on IIS with all the needed files;
  3. A custom action on install uses mage.exe to update the .application with the correct AppCodeBase url;

Is there a better/easier/cleaner way to do this?

Marco

A: 

You can deploy directly to a web site and it will just work. While I don't have the steps here, the Visual Studio deployment wizard is pretty intuitive.


Since you aren't deploying to the web, this should work for you.

  1. Clean (erase) a common network location.
  2. Deploy to that common network location.
  3. IT can just xcopy the entire common network directory (including subdirectory) to the web server.

The reason for the clean is to minimize the data copied to the web server; it isn't necessary but it will keep the deployment at a more-or-less constant time.

ClickOnce will create a "versioned" folder with your latest build so that copy will never overwrite anything; the root directory copy will then appropriately link to that folder.

Austin Salonen
But I can't ask an IT guy that goes to install the application on the server to have Visual Studio..
crossy
Oh... *You* aren't deploying... I'll amend.
Austin Salonen
it's ok, that's my english foult ;)
crossy
I am deploying to the web but I can't know in advance the url so the manifest needs to be created by the installer, that's my problem :(
crossy
+1  A: 

What you have described is almost exactly what we have done in the past. I don't know of a better way to do this if you have to create an MSI for multiple servers or don't have foreknowledge of the IP/hostnames of the ClickOnce server. In our case we had additional configuration for each install so we also installed a config app which would run mage. It's not much of an answer, but we had looked around quite a bit for a better answer in the past as well.

jes
I'm also doing some configuration on install so it doesn't create a problem to also mage.exe but I asked to know if there was a better solution.Thanks for your answer :)
crossy