Install SIR Web Application with Web PI

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

 

 

 

 

 

 

11 Comments

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

  • 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.

  • 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

  • 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 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:

    Any ideas??? thanks already

  • 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: http://localhost/SIR/ScriptResource.axd?d=Waz1JaHBdvXs1NMNqKO7v6RJ1u4TsO2-WOmyLE1L27oGpgCv7RoFQIXTHJI6wvQo7CgPnyvjk-5AeYY2nbrqUyRT3S7NszsuZn29U4lHGG01&t=ffffffffec2d9970

  • 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.

  • 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;

  • 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

  • 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

  • Hi, Kate!

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

    Thanks!

  • @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

Comments have been disabled for this content.