cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
shekhar_shashi
Level 3

Create installer for an asmx web service using Installsheild LE/Visual Studio 2012

I am trying to use Visual Studio 2012 and InstallSheild LE to create a setup project for an asmx web service website. I used Installsheild LE to create installers for several windows service projects and they all worked fine. But no success so far with installer for the web service.

This is what I have done so far:
Project Assistant Step: I added project output to the web site (unlike WCF Projects, ASP.Net web services are created as web site)
Step 3: Under IIS step, I am trying to a web site and a web application with default names.

The setup project builds fine but when the installation is in progress, it seems to fail when creating IIS virtual directory and rolls back the setup. The error message shown is: The installer was interrupted before setup could be completely installed. Your system has not been modified. To complete installation at another time, please run setup again.

My question is - is there documentation on Flexera website that lists the steps for installing a web service?

Thanks in advance for your help.


Additional update:

I think Installshield is unable to create virtual directory. Please confirm the recommended values of the following parameters:

Step 3: IIS Settings:
Under web sites node, I have MyWebSite with Content Source Path of [IISROOTFOLDER].
I have a web application under MyWebSite which is called MyApplication1 and has Content Source Path of [IISROOTFOLDER]. When I change this path to [INSTALLDIR], the setup does not work. When I change it back to [IISROOTFOLDER], it works. My website files are copied to C:\Program Files (x86)\My Company\My Web App but the virtual directory's physical path is C:\Inetpub\wwwroot\My Web App and just has the web.config.

I am sure I this is a minor setting problem and hopefully someone can compare their settings from a working solution and point me in the right direction.
0 Kudos
(4) Replies
shekhar_shashi
Level 3

Based on tthis post, it seems like InstallSheild LE does not support .msi installer creation for ASP.Net web site.

http://forums.asp.net/t/1930992.aspx?MSI+FOR+WEB+APPLICATIONS+IN+VISUAL+STUDIO+2012

As far as I understand, if this was the case, there will be no IIS setting step in Installsheild LE. Please confirm.
0 Kudos
jcoone
Level 6

I am not sure why using the INSTALLDIR is not working for the web app installation location, unless your web app is in a subfolder under what is defined as the INSTALLDIR.

If it is an option you can change the installation location of your files so they are installed into a specific subfolder in the IISROOTFOLDER and set the configuration to point to that location. It has been a while since I have attempted doing an installation of a web application, so I may not be remembering everything correctly.
0 Kudos
shekhar_shashi
Level 3

jcoone wrote:
I am not sure why using the INSTALLDIR is not working for the web app installation location, unless your web app is in a subfolder under what is defined as the INSTALLDIR.

If it is an option you can change the installation location of your files so they are installed into a specific subfolder in the IISROOTFOLDER and set the configuration to point to that location. It has been a while since I have attempted doing an installation of a web application, so I may not be remembering everything correctly.



Hi @jcoone,

Thanks for the update.

After a few attempts, I think I have it figured out on a different computer. Before I jump to any conclusions, I want to apply my changes to the original installer project and make sure my conclusion is correct. If I am successful, I'll post something in the next 1-2 days with detailed explanations.
0 Kudos
shekhar_shashi
Level 3

shekhar_shashi wrote:
Based on tthis post, it seems like InstallSheild LE does not support .msi installer creation for ASP.Net web site.

http://forums.asp.net/t/1930992.aspx?MSI+FOR+WEB+APPLICATIONS+IN+VISUAL+STUDIO+2012

As far as I understand, if this was the case, there will be no IIS setting step in Installsheild LE. Please confirm.



This solution worked.

1. Create Installshield LE Project. Under project assistant, update project name etc.
2. Under Project Assistant/Application Files step, all project outputs.
3. Navigate to IIS under step 3 and create a web site and a web application under it. Leave the content source file paths to default values.
4. Go back to Project Assistant/Application Files step and drag and drop the project output folder from [Program Files] folder to [IISROOTFolder]. This is one step that many internet bloggers have not mentioned. Instead, they added a folder under [IISROOTFolder] and readded project otput files there. This causes duplicate installation of project output files. Dragging and dropping creates a single installation which defualts to IISROOTFolder\[Product Name] folder but can be changed by the user who is installing the application.

I ran into two additional problems after that.

1. I had to make the web.config file read/write and rebuild the installer project before installing. My installers started to work on my machine.
2. By default, installsheild uses absolute paths and so my installer stopped working on another machine. I had to manually edit /isl file to use relative paths.

Access this link and seach for 'relative paths' on the page for more details about step 2.

http://dynamicsdev.wordpress.com/

So finally I have a working solution that installs a web applacation in the folder picked by the user (default is IIS root folder \[product name])!

Apparently the issue with absolute paths has been fixed in the VS 2013 edition of Installsheild.
0 Kudos