Install SIR Web Application with Web PI

Posted: Jan 25, 2010  12 comments  

Average Rating

Share this Post

SIR is a tool to validate Application Gallery packages. SIR comes in three different flavors, a dll, command-line tool and a web application. To read more about the dll and command line usage, you can refer to this blog. In this blog, you will learn how the same validation can be done using a one page web application. Similar to other Application Gallery packages, this web application is packaged into a zip file using Web Deploy technology. Similar to the SIR command line tool, this web application runs on top of the AppGallerySIR.dll that contains all important validation methods and outputs the results back on the screen. Below are the step by step instructions on how to install this web application in a few clicks and start validating your Application Gallery packages, existing or new.

Web Platform Installer (Web PI) will help us install the package through a custom feed.

1. Open Web PI and go to the Options dialog.

image


2. In the Options dialog, add the following feed: http://blogs.iis.net/blogs/kateroh/SIR/SIRWebPIFeed.xml

image

3. A new tab called “Application Gallery Tools” will show. Follow the “Customize” link, select “SIR Web Application” and click to install. Note that if you will choose to install the command line tool as well, it will get installed under %ProgramFiles%\SIR on a 32-bit machine or under %ProgramFiles(x86)%\SIR on a 64-bit machine.

image

4. This web application requires Web Deploy v1.0 and .NET Framework 3.5 SP1, since validation uses AJAX calls to validate packages. Web PI will install these dependencies for you, if you don’t have them installed yet.

image

5. On the parameters page, choose the physical path for your application. This is required for your configuration in web.config to be updated accordingly.

image 

6. Now application is successfully installed. Click “Launch” to launch the application in the browser or browse to the application’s default.aspx page. The page is ready to validate your packages either through a physical path to the package or a URL.

image


If you need to configure the proxy for URL validations, uncomment and tweak the lines below in web.config

<system.net>
   <defaultProxy>
      <proxy proxyaddress="your-proxy-name.domain.com:port-number-if-any" bypassonlocal="True" autoDetect="False" />
   </defaultProxy>
</system.net>

Refer to web.config for all SIR related configuration.

NOTE: in order to successfully validate the packages, application pool identity for this application should have Read/Write permissions for the following settings defined in web.config:

<appSettings> 
   <add key="reportFolder" value="<..>" /> 
   <add key="logFolder" value="<..>" /> 
   <add key="unzippedFolderLocation" value="<..>" /> 
</appSettings>

During the install time, these settings will be set to the physical path of your application. If the application pool identity already has permissions to this location, no additional step of setting ACLs is required.

7. Here is a sample report from the web application:

image

 

 

 

 

 

 

Comments

I get an error trying to run the web app: Could not load file or assembly 'AppGallerySIR' or one of its dependencies. Strong name signature could not be verified.  The assembly may have been tampered with, or it was delay signed but not fully signed with the correct private key. (Exception from HRESULT: 0x80131045)

Feb 18 2010 by jbrinkman

I should have mentioned, I am running 64bit Win7.  I have created a separate IIS apppool running in 32bit Integrated Pipeline mode.

Feb 18 2010 by jbrinkman

Thank you for reporting this! The problem with the dll was that it was delay signed. It is unsigned now, so both the dll and the application are updated now.

Feb 19 2010 by kateroh

I kept getting errors from both the command line tool and the web based one, that the zip file didn't exist.

It appears this is because my file had a full stop in it, other than at the end with the extension, eg

file1.1001.zip

when renamed to

file1_1001.zip it worked fine

Jun 27 2010 by MartynG

Running 64bit Win7. Many access/ authorisation errors at first, solved several by creating and setting custom directories in web.config file. However cann't get past:

Valid     Successfully created the Web Deployment Tool DeploymentObject.

Check Entry     Failed to unzip the file <C:\inetpub\wwwroot\SIR\deploy\S122Test.zip> to location C:\Windows\system32\config\systemprofile\S122Test

SIR Error     Access to the path 'C:\Windows\system32\config\systemprofile\S122Test' is denied.

webconfig set to:  <add key="unzippedFolderLocation" value="c:\inetpub\wwwroot\SIR\temp" />

Any ideas??? thanks already

Aug 01 2010 by fwsmaster

Hi, trying to run this on our package and we get an error:

Webpage error details

User Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; GTB6.5; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET CLR 3.0.30618; .NET CLR 3.5.21022; InfoPath.2; Media Center PC 5.0; SLCC1; Tablet PC 2.0; .NET4.0C; OfficeLiveConnector.1.5; OfficeLivePatch.1.3; .NET4.0E)

Timestamp: Fri, 27 Aug 2010 07:00:32 UTC

Message: Sys.WebForms.PageRequestManagerServerErrorException: Access to the path 'c:\windows\system32\inetsrv\sqlcms_2-57_PM.xml' is denied.

Line: 4723

Char: 21

Code: 0

URI: localhost/.../ScriptResource.axd

Aug 27 2010 by sqlcms

The only way I got this to work was by creating directories manually and assigning permissions to them and then assigning permissions for Everyone to the "C:\Windows\system32\config\systemprofile\" directory (!!). Then it finally worked and said my package was valid... Which is strange as I've just received a notification from the web app testing team that it failed validation.

Aug 27 2010 by sqlcms

Web App ERROR LINE 9: CS0234

Mensaje de error del compilador: CS0234: El tipo o el nombre del espacio de nombres 'Config' no existe en el espacio de nombres 'AppGallery.SIR.WebUI' (¿falta una referencia de ensamblado?)

Error de código fuente:

Línea 7:  

Línea 8:  using AppGallery.SIR;

Línea 9:  using AppGallery.SIR.WebUI.Config;

Dec 23 2010 by AlejandroMartin

Before point 5. Screen 1/2 .. WHERES IS !

Do the article well, show all steps!

I have spent more than 1 hour and even i cannot get web site running,

DDL or something is not updated, missing classes

Dec 23 2010 by AlejandroMartin

Finally, Using the trick of sqlcms

And also i advice that i need to host on root path (not virtual) and use the inetput/wwwroot path,

so i select a new site, tell the installer use the inetput/wwwrootpath and don't use any name.

Finally i have working (but if i try to move to a subpath (like /wwwroot/SIR/) then dont work

Hope i help someone

Dec 23 2010 by AlejandroMartin

Hi, Kate!

Is there any way to add custom feed to WebPI programmatically or from command line?

Thanks!

Apr 07 2011 by rukeba

@rukeba: There is no way to add it automatically to the UI for security reasons. However, you can use WebPICmdLine tool (no UI, cmd line interface) that will let you automate the process of adding custom feeds and installing custom products from those feeds.

@everyone else: thanks, guys, for reporting the issues. I'll be releasing an updated version of SIR with bug fixes soon! Will post a link to the new bits. Stay tuned

Apr 20 2011 by kateroh

Submit a Comment

  • Plain text is accepted.
  • URLs starting with http:// are converted to links.