What are the prerequisites for installing an ASP.NET application?

We have an ASP.NET 2.0 application available as a test download. Therefore, we do not control the environment in which it will be installed. Despite all our efforts to create a reliable installer, we still get a lot of messages about message problems.

We generate compiled .net files using a network deployment project. We then output the result and run it through the VS 2010 deployment project to create the MSI installer.

Here are some of the issues we face:

  • It seems that the msi installer does not work with IIS7. In order for it to be installed correctly, compatibility with IIS6 must be installed, otherwise it will simply fail.
  • Although the "RemovePreviousVersions" parameter is set to true, the installer almost never removes the unnecessary version and simply causes an error stating that the application is already installed.

We previously tried using the InnoSetup installer. It worked to a certain extent, but we had problems with the installed application connecting to the wrong application pool, and still did not find a way to determine the application pool through the InnoSetup script.

Can someone give me the final list of what you need to run the ASP.NET application on a computer running Windows XP or later with an unknown configuration? for example, install .NET 2.0, check box II6, copy files to x, create a virtual directory, etc.

Even better, does anyone know about the installer (or the InnoSetup extension) that does most of the configuration for you?

+7
source share
5 answers

After looking at all the parameters, I decided to save the msi installer, but add preliminary checks in the inno script setup.

Here is the script

procedure DialogInfo(const Msg: String); begin MsgBox(Msg , mbInformation, mb_OK); end; function IISInstalled: Boolean; begin Result := RegKeyExists(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\InetStp'); end; function GetIISMajorVersion: Integer; var Vers: Cardinal; begin if (IISInstalled) and (RegQueryDWordValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\InetStp', 'MajorVersion', Vers)) then Result := Vers else Result :=0; end; function IISManagementConsoleInstalled: Boolean; var IIS: Variant; begin try IIS := CreateOleObject('IISNamespace'); Result := TRUE; except Result := FALSE; end; end; function WindowsMinorVersion: Integer; var Version: TWindowsVersion; begin GetWindowsVersionEx(Version); Result := Version.Minor; end; function WindowsMajorVersion: Integer; var Version: TWindowsVersion; begin GetWindowsVersionEx(Version); Result := Version.Major; end; function WindowsServer: Boolean; var Version: TWindowsVersion; begin GetWindowsVersionEx(Version); Result := Version.ProductType = VER_NT_SERVER; end; function IsWindows7: Boolean; begin Result := (WindowsMajorVersion = 6) and (WindowsMinorVersion = 1) and (not WindowsServer); end; function IsWindowsVista: Boolean; begin Result := (WindowsMajorVersion = 6) and (WindowsMinorVersion = 0) and (not WindowsServer); end; function IsWindowsXP: Boolean; begin Result := (WindowsMajorVersion = 5) and (WindowsMinorVersion = 1) and (not WindowsServer); end; function IsWinServer2003: Boolean; begin Result := (WindowsMajorVersion = 5) and (WindowsMinorVersion = 2) and (WindowsServer); end; function IsWinServer2008: Boolean; begin Result := (WindowsMajorVersion = 6) and ((WindowsMinorVersion = 0) or (WindowsMinorVersion = 1)) and (WindowsServer); end; function IsHomeEdition: Boolean; var Version: TWindowsVersion; begin GetWindowsVersionEx(Version); Result := Version.SuiteMask AND VER_SUITE_PERSONAL <> 0 ; end; function CheckIISPrerequisites: Boolean; var IISVersion: Integer; Msg: String; begin Result := FALSE; case GetIISMajorVersion of 0: begin if IsHomeEdition then Msg := 'The Easy-IP Web Server requires Internet Information Services (IIS). IIS cannot be installed on the Home edition of Windows.' else begin Msg := 'The Easy-IP Web Server requires Internet Information Services to be enabled on this machine. To enable IIS: ' +#10 + #10; if IsWindowsXP then Msg := Msg + '1) Open Control Panel then Add or Remove Programs.' + #10 + '2) Click on Add/Remove Windows Components.' + #10 + '3) Find Internet Information Services (IIS) amd check it.' + #10 + '4) Click Next then Finish.' else if IsWinServer2003 then Msg := Msg + '1) Open Manage Your Server' + #10 + '2) Click on Add or Remove a Role.' + #10 + '3) Click Next.' + #10 + '4) Select Application server (IIS, ASP.NET)' + #10 + '5) Click Next.' + #10 + '6) Check Enable ASP.NET.' + #10 + '7) Click Next, then Next again.' else if IsWinServer2008 then Msg := Msg + '1) Open Server Manager.' + #10 + '2) Click on Roles.' + #10 + '3) Click Add Roles.' + #10 + '4) When the Wizard appears, click Next.' + #10 + '5) Find Web Server(IIS) and check it.' + #10 + '6) Click Next twice.' + #10 + '7) Find Application Development and check it.' + #10 + '8) Find IIS 6 Management Compatibility (under Management Tools) and check it along with all it' children.' + #10 + '9) Click Next, then Install.' else // Vista, Win7 or later Msg := Msg + '1) Open Control Panel then Programs and Features.' + #10 + '2) Click on Turn Windows Features on or off.' + #10 + '3) Check Internet Information Services.' + #10 + '4) Under the Internet Information Services node, expand Web Management Tools and check IIS Management Console.' + #10 + '5) Click OK.'; end; end; 5, 6: begin Result := IISManagementConsoleInstalled; if not Result then Msg := 'Unable to install the Easy-IP Web Server as the IIS Management Console could not be initiated. Please contact support@easy-ip.net for more information.'; end; 7: begin Result := IISManagementConsoleInstalled; if not Result then begin Msg := 'Internet Information Services is installed, but in order to install the Easy-IP Web Server, you must also enable the IIS Management Console. To enable the IIS Management Console:' + #10 + #10; if WindowsServer then Msg := Msg + '1) Open Server Manager and click on Roles.' + #10 + '2) Under Web Server (IIS), click Add Role Services.' + #10 + '3) Find Application Development and make sure it' checked.' + #10 + '4) Find IIS 6 Management Compatibility (under Management Tools) and check it along with all it' children.' + #10 + '5) Click Next, then Install.' else Msg := Msg + '1) Open Control Panel then Programs and Features.' + #10 + '2) Click on Turn Windows Features on or off.' + #10 + '3) Under the Internet Information Services node, expand Web Management Tools then check IIS Management Console.' + #10 + '4) Click OK.'; end; end; end; // of case if not Result then DialogInfo(Msg); end; 
0
source

To deploy a release to a development or production server, follow these steps:

  • Install the MSI web deployment.
  • Right-click on your project in the solution explorer and add a web deployment project (here I do not use conversion to a web application or publication).
  • Then compile the files. This will create a folder in the project directory that will contain the required files for deployment to the server.
  • Take a backup of your virtual directory and delete the virtual directory as well as the files from inetpub.
  • Goto Inet mgr, type inetmgr in run hit enter.
  • On the default website, create a virtual directory, save the deployed files in the inetpub folder and browser.
  • Allow appropriate access, such as reading, running a script, and viewing. What all

Mark this as your answer, if you find it helpful to others, let me know ...

+2
source

You can use Installshield to develop an installer for your requirements. It has all the features that support creating and deleting virtual directories depending on IIS, copying data to the target system, checking the OS, etc.

0
source

If you are using external .dlls (assemblies) then you should also deploy them. For example: if the application uses Crystal Reports (CR), then the CR runtime package must be installed on the working computer. Also, make sure that all your files have been imported into your project and that your application is not looking for files on your local computer (outside your project directory).

0
source

The PI window works with Windows XP SP3 + (and more) and imposes prerequisites for a web developer server.

http://www.microsoft.com/web/downloads/platform.aspx

Hands up, though - I have not tried this myself, but I would give him a solution for the dev server. May be of interest to you.

0
source

All Articles