{"id":1174,"date":"2017-12-04T04:32:36","date_gmt":"2017-12-04T04:32:36","guid":{"rendered":"http:\/\/www.scmgalaxy.com\/tutorials\/?p=1174"},"modified":"2020-01-09T09:34:29","modified_gmt":"2020-01-09T09:34:29","slug":"deploying-ssrs-reports-using-wix-installer","status":"publish","type":"post","link":"https:\/\/www.devopsschool.com\/blog\/deploying-ssrs-reports-using-wix-installer\/","title":{"rendered":"Deploying SSRS reports using Wix Installer."},"content":{"rendered":"<p><strong>created the topic: Deploying SSRS reports using Wix Installer.<\/strong><br \/>\nWhat is the best way to deploy SSRS reports using WiX 3.0 installer?<\/p>\n<p><strong>InstallerGeek replied the topic: Re: Deploying SSRS reports using Wix Installer.<\/strong><br \/>\nPut them in a folder and tell the user to upload them.<\/p>\n<p>Sad, but true.<\/p>\n<p><strong>replied the topic: Re: Deploying SSRS reports using Wix Installer.<\/strong><br \/>\nA couple years ago I wrote a C#\/DTF CA and some custom tables in WiX to call into the SSRS webservice to create the directories, datasources and reports associating the reports to the datasource.<\/p>\n<p>It was pretty primitive ( SSRS doesn&#8217;t support transacted installs and since the webservice could be on a different machine you might not want to use no impersonation ) but it worked well.  The next step was to refactor to a WiX extension but I changed jobs and never got around to it.<\/p>\n<p>So it can be done without requiring manual steps or going out of process to an EXE and scripts.<\/p>\n<p><strong>InstallerGeek replied the topic: Re: Deploying SSRS reports using Wix Installer.<\/strong><br \/>\nCould you please share some more information about this implementation. This seem the best so far.<\/p>\n<p>The rdl files would be embedded within MSI package, how would those be extracted by the c# CA?<\/p>\n<p><strong>replied the topic: Re: Deploying SSRS reports using Wix Installer.<\/strong><br \/>\nAt the time, because SSRS doesn&#8217;t support transact and the webservice being on a different machine makes deferred no impersonation pointless,  I was running the CA in immeadiate execution.  Because of this I had access to the Binary table to extract the files.<\/p>\n<p>However you could also use the File table to install the files somewhere and then use a immeadiate\/commit custom action pair to marshal over the location of the installed files and use them that way.<\/p>\n<p>If you want, I can send you what I have.  It&#8217;s not perfectly elegant, just a working prototype that seems to have survived quite nicely after my departure.<\/p>\n<p><strong>InstallerGeek replied the topic: Re: Deploying SSRS reports using Wix Installer.<\/strong><br \/>\nThere is a script based install process here that might help you:<br \/>\n<a href=\"http:\/\/neilsleightholm.blogspot.com\/2008\/08\/rep...oader-for-sql-server\" target=\"_blank\" rel=\"noopener\">neilsleightholm.blogspot.com\/2008\/08\/rep&#8230;oader-for-sql-server <\/a><br \/>\n-reporting.html.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>created the topic: Deploying SSRS reports using Wix Installer. What is the best way to deploy SSRS reports using WiX 3.0 installer? InstallerGeek replied the topic: Re: Deploying SSRS reports&#8230; <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_joinchat":[],"footnotes":""},"categories":[49],"tags":[289],"class_list":["post-1174","post","type-post","status-publish","format-standard","hentry","category-general","tag-deploying"],"_links":{"self":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/1174","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/comments?post=1174"}],"version-history":[{"count":1,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/1174\/revisions"}],"predecessor-version":[{"id":1175,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/posts\/1174\/revisions\/1175"}],"wp:attachment":[{"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/media?parent=1174"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/categories?post=1174"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.devopsschool.com\/blog\/wp-json\/wp\/v2\/tags?post=1174"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}