Launching Report Builder from a Winform or Webform Application in SQL Reporting Services 2005


At times, you may need to launch Report Builder from your custom application as either the currently logged in user, or under a different, arbitrary identity. Here's how!


Regardless of the technique you use, you're basically going to be hitting the URL http://yourServerName/reportserver/reportbuilder/reportbuilder.application . Most of the samples below are really just doing the "heavy lifting" of creating the necessary process and/or user identity to run Report Builder under:


Winform / Current User:


Use System.Diagnostics.Process.Start to launch IE and point it to the URL above:





Winform / Other Identity:


You'll still be using Process.Start, but you'll also need to utilize some of the new framework 2.0 StartInfo members to specify the username/domain/password, etc. You also will use the new SecureString class to pass your password to StartInfo:


ProcessStartInfo startInfo = new ProcessStartInfo(@"c:\program files\internet explorer\iexplore.exe");

startInfo.UserName = "TestUser";

startInfo.Domain = "aDomain";

startInfo.WorkingDirectory = @"c:\program files\internet explorer";

System.Security.SecureString sS = new System.Security.SecureString();













startInfo.Password = sS;

startInfo.Arguments = "http://localhost/reportserver/reportbuilder/reportbuilder.application";

startInfo.UseShellExecute = false;

startInfo.LoadUserProfile = true;



Another thing on this sample - You need to have LoadUserProfile set to true or Report Builder won't get installed (basically because the ClickOnce cache is located in C:\Documents and Settings\<username>\LocalSettings\ if you don't have a user profile loaded, there will be nowhere to drop the bits).


Webform / Current user:


Just use any technique you want to navigate to the http://yourServerName/reportserver/reportbuilder/reportbuilder.application URL



Webform / Other Identity:                     


 It doesn't appear that this is (easily) doable. If any of you come up with a cool workaround, please let me know and I’ll post it


 The basic problem is that regardless of how you launch the process (whether by Process.Start, LoginUserW and CreateProcessAsUser, etc.), it will get launched on the SERVER and will never become interactive. So, you may successfully LAUNCH an instance of IE, but the only place you'll see it is in task manager J There may be a way to locally launch an "impersonated" IE via JavaScript and RunAs, but I didn't have the patience to try and figure it out.



Comments (15)

  1. Agson Chellakudam says:


    Can you please suggest, How I can open ‘Report Builder’ in Internet Explorer (Not as a seperate application). It should be embedded with IE Page like excel sheet.


    Agson Chellakudam

  2. You can’t do this — Sorry.

  3. furmangg says:

    If I understood your "Winform / Other Identity" sample, that code will launch Report Builder under another NT domain user and prevent Report Builder from prompting you for credentials?

    What if Reporting Services is using Forms Auth? Any way to prevent Report Builder from prompting you for credentials?

  4. Nope. Since Report Builder is a Windows ClickOnce app, the only credentials we can ever "pass" it are Windows Credentials. If you are using forms auth, RB will always prompt for credentials regardless of how you launch it. Sorry!

  5. Peter says:

    I’ve been trying to find a way to have end-users of MS CRM 3.0 gain access to ReportBuilder via a hyperlink in the CRM Reports section. I thought perhaps that this approach would authenticate the user as being the "ReportingGroup" SSRS user that CRM installs, but instead it seems RB checks who the actual Windows user is instead. Consequently, a prompt for Username and Password appears for anyone not specially listed as a system user in SSRS.

    Based on some previous comments, it appears that there is not work around. But, just to double-check, in order for any user to access the Report Builder, do they need to be either a System Administrator or System User as defined in the Site-Settings of SSRS?


  6. Hi Peter. To access & use Report Builder, the user must be a member of the "Report Builder" item role, and the "System User" system role (in order to get Execution Definition permissions).

    If "ReportingGroup" is a true Windows Group created when CRM is installed, I would think that you could just add this group to the Roles above, and you’d get the Report Builder.  I’ve never tried it myself, though. Are you sure that CRM uses Windows Auth throughout the product (I’ve never worked with it).

  7. Gerhard Davids says:

    I have a something similar happening.

    Report Builder uses my windows account in stead of the one i type in at the prompt.

    I have given the correct rights on Report Manager. Even when using http://yourServerName/reportserver/reportbuilder/reportbuilder.application it does the same.

    Could there be something a miss?

  8. Drikus van Eck says:

    All you need to do is to change your iis security setting for the Report Builder folder. Under you Report Server virtual directory select the report builder folder, change this folder’s directory security to Basic Authentication and enable Anonymous access. You will be prompted twice now but the security will work peachy.

  9. Can you put this method into an ActiveX control to get around the issue of launching the process on the server.  The only downfalls are that the person has to allow the ActiveX control and be running Windows.  But one can argue that the person should know what they are doing if they want to launch Report Builder and that Report Builder only runs on windows machines anyway.  Tell me if this is possible.



  10. No process is spawned on the server when you launch report builder. It is a ClickOnce app, so it is installed to and runs on the client box.

  11. Jeetu says:

    I have configured report server for forms authentication and configured it on a internet facing site. for eg. I use the below url instead of localhost to open report manager.

    As my domain is a 2.0 website and has a assembly reference for it gives me below error while launching report builder.

    CS0234: The type or namespace name ‘Data’ does not exist in the namespace ‘System’ (are you missing an assembly reference?)

  12. tenzin says:

    I m facing a prob that, i want selected user should access only selected models of ma report builder. so i need to know how to do that.

  13. srk says:

    I am trying to launch ReportBuilder through my Application. I would like to know a way to send user credentials while launching the ReportBuilder using url   http://yourServerName/reportserver/reportbuilder/reportbuilder.application

    I am interested in knowing the solution to the section Webform / Other Identity  in your post. Please post if you had a chance to find the solution. Thanks.  

Skip to main content