{"id":3726,"date":"2014-03-29T08:50:13","date_gmt":"2014-03-29T08:50:13","guid":{"rendered":"https:\/\/unknownerror.org\/index.php\/2014\/03\/29\/crystal-reports-on-windows-azure-is-not-getting-displayed-collection-of-common-programming-errors\/"},"modified":"2014-03-29T08:50:13","modified_gmt":"2014-03-29T08:50:13","slug":"crystal-reports-on-windows-azure-is-not-getting-displayed-collection-of-common-programming-errors","status":"publish","type":"post","link":"https:\/\/unknownerror.org\/index.php\/2014\/03\/29\/crystal-reports-on-windows-azure-is-not-getting-displayed-collection-of-common-programming-errors\/","title":{"rendered":"Crystal reports on Windows Azure is not getting displayed-Collection of common programming errors"},"content":{"rendered":"<p>I just went through the same problem of getting Crystal Reports 2010 (13.0.4) working on Azure. I followed the advice of BritishDeveloper and some other sources. My method differs only slightly in that I used Azure blob storage to store the crystal runtime which makes project publishing a lot faster than when including it within your project.<\/p>\n<p>Here&#8217;s how I got crystal reports working:<\/p>\n<p><strong>1) Set up a new blob storage service within Azure portal<\/strong><\/p>\n<p><strong>2) Upload the Crystal installer to this blob storage<\/strong><\/p>\n<p>Using the free tool CloudXplorer upload CRRuntime_64bit_13_9_4.msi into a container called <em>crystalinstaller<\/em> (remember to unzip before uploading).<\/p>\n<p><strong>3) In Visual Studio create a startup script definition in your Azure project ServiceDefinition.csdef:<\/strong><\/p>\n<pre><code>\n  \n    \n      \n    \n  \n\n<\/code><\/pre>\n<p><strong>4) Store the following startup script in the root of your web project with &#8216;build action&#8217; <em>none<\/em> and &#8216;copy to output&#8217; set to <em>always<\/em>. Lesson learnt here: the approot\/siteroots isn&#8217;t always on E: drive<\/strong><\/p>\n<pre><code>@ECHO off\n@REM Setting up Azure Stroage Credentials\nset azurestoragename=\nset azurestoragekey=\nset storagecontainername=crystalinstaller\n\n@REM Setting up Azure Drive \n@REM (sometimes E:, sometimes F: maybe one day G:?)\nset drive=%cd:~0,3%\n\n@REM Download Crystal Runtime 13.0.4\n@REM from blob storage account\nset filename=CRRuntime_64bit_13_0_4.msi\nAzureBlobDownloader.exe \"%azurestoragename%\" \"%azurestoragekey%\" \"%storagecontainername%\" \"%filename%\"\n\n@REM Install Crystal Runtime 13.0.4\nmsiexec.exe \/I CRRuntime_64bit_13_0_4.msi \/qn\n\n@REM Copy Crystal Reports Viewer Files\nrobocopy D:\\inetpub\\wwwroot %drive%sitesroot\\0 \/S\nrobocopy D:\\inetpub\\wwwroot %drive%approot \/S\n<\/code><\/pre>\n<p><strong>5) Download a command line tool that can download from blob storage to your azure service VM<\/strong> I used packagedownloader.exe from Windows Azure Tomcat Solution but there are probably others or you could easily roll-your-own. I renamed this to AzureBlobDownloader.exe and copied along with the included Microsoft.WindowsAzure.StorageClient.dll into the root of my web project again with &#8216;build action&#8217; <em>none<\/em> and &#8216;copy to output&#8217; set to <em>always<\/em>.<\/p>\n<p>If you&#8217;re still having trouble try to remote desktop into your instance and use a tool like DebugView to monitor what&#8217;s happening.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I just went through the same problem of getting Crystal Reports 2010 (13.0.4) working on Azure. I followed the advice of BritishDeveloper and some other sources. My method differs only slightly in that I used Azure blob storage to store the crystal runtime which makes project publishing a lot faster than when including it within [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-3726","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/3726","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/comments?post=3726"}],"version-history":[{"count":0,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/posts\/3726\/revisions"}],"wp:attachment":[{"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/media?parent=3726"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/categories?post=3726"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/unknownerror.org\/index.php\/wp-json\/wp\/v2\/tags?post=3726"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}