0

I've looked at the M$ docs for Post-build Event Commands and don't see any thing like what I need ( http://msdn.microsoft.com/en-us/library/42x5kfw4.aspx ), -> conditional checks

here's my Post-build Event Commands (VS2013 Ult):

copy $(TargetName).* "$(DevEnvDir)\PrivateAssemblies\" net stop "SQL Server Reporting Services (MSSQLSERVER)" copy $(TargetName).* "C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin\" net start "SQL Server Reporting Services (MSSQLSERVER)"

I WANT them to work like this:

copy $(TargetName).* "$(DevEnvDir)\PrivateAssemblies\"

IF SSRS 2008 R2 DESTINATION EXISTS THEN net stop "SQL Server Reporting Services (MSSQLSERVER 2008 R2)" copy $(TargetName).* "C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin\" net start "SQL Server Reporting Services (MSSQLSERVER 2008 R2)"

IF SSRS 2012 DESTINATION EXISTS THEN net stop "SQL Server Reporting Services (MSSQLSERVER 2012)" copy $(TargetName).* "C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin\" net start "SQL Server Reporting Services (MSSQLSERVER 2012)"

IF SSRS 2014 DESTINATION EXISTS THEN net stop "SQL Server Reporting Services (MSSQLSERVER 2014)" copy $(TargetName).* "C:\Program Files\Microsoft SQL Server\MSRS12.MSSQLSERVER\Reporting Services\ReportServer\bin\" net start "SQL Server Reporting Services (MSSQLSERVER 2014)"

(Thing is, we still have a couple of servers still running SQL Server 2008 R2, mostly SQL Server 2012 and a few SQL Server 2014. It wouldn't be too far fetched if some VMs had more than one version of SQL Server needed for migration purposes.)

I tried to "putz" around with stuff like this below, but I was unable to get any detailed information from M$ nor Google:

sc query "SQL Server Reporting Services (MSSQLSERVER)" type=service | FIND "SQL Server Reporting Services (MSSQLSERVER)" | FIND "RUNNING" >nul

if ERRORLEVEL 1 (echo NOT RUNNING) ELSE (echo RUNNING)

Thanks Rob PS terribly disappointed with M$, both for this and detailed information relating to SSRS Data Processing Extensions

user3620831
  • 11
  • 1
  • 4

1 Answers1

0

i ended up doing this in the Build Events, Post-build event command line(s) (guessing that maybe it would function with DOS commands, which is "clunky", but I never got a response on several forums):

copy "$(TargetDir)$(TargetName).*" "$(DevEnvDir)PrivateAssemblies\"

IF exist "c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies" ( echo Visual Studio 2010x64 exists )

IF exist "c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies" ( copy "$(TargetDir)$(TargetName).*" "c:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies" )

IF exist "c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies" ( echo Visual Studio 2010x86 exists )

IF exist "c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies" ( copy "$(TargetDir)$(TargetName).*" "c:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies" )

IF exist "c:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies" ( echo Visual Studio 2012x64 exists )

IF exist "c:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies" ( copy "$(TargetDir)$(TargetName).*" "c:\Program Files\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies" )

IF exist "c:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies" ( echo Visual Studio 2012x86 exists )

IF exist "c:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies" ( copy "$(TargetDir)$(TargetName).*" "c:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\PrivateAssemblies" )

IF exist "c:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies" ( echo Visual Studio 2013x64 exists )

IF exist "c:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies" ( copy "$(TargetDir)$(TargetName).*" "c:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies" )

IF exist "c:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies" ( echo Visual Studio 2013x86 exists )

IF exist "c:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies" ( copy "$(TargetDir)$(TargetName).*" "c:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PrivateAssemblies" )

IF exist "c:\Program Files\Microsoft Visual Studio 13.0\Common7\IDE\PrivateAssemblies" ( echo Visual Studio 13.0-x64 exists )

IF exist "c:\Program Files\Microsoft Visual Studio 13.0\Common7\IDE\PrivateAssemblies" ( copy "$(TargetDir)$(TargetName).*" "c:\Program Files\Microsoft Visual Studio 13.0\Common7\IDE\PrivateAssemblies" )

IF exist "c:\Program Files (x86)\Microsoft Visual Studio 13.0\Common7\IDE\PrivateAssemblies" ( echo Visual Studio 13.0-x86 exists )

IF exist "c:\Program Files (x86)\Microsoft Visual Studio 13.0\Common7\IDE\PrivateAssemblies" ( copy "$(TargetDir)$(TargetName).*" "c:\Program Files (x86)\Microsoft Visual Studio 13.0\Common7\IDE\PrivateAssemblies" )

IF exist "c:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies" ( echo Visual Studio 14.0-x64 exists )

IF exist "c:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies" ( copy "$(TargetDir)$(TargetName).*" "c:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies" )

IF exist "c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies" ( echo Visual Studio 14.0-x86 exists )

IF exist "c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies" ( copy "$(TargetDir)$(TargetName).*" "c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\PrivateAssemblies" )

net stop "SQL Server Reporting Services (MSSQLSERVER)"

IF exist "C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin\" ( echo SQL Server 2008-MSRS10 exists )

IF exist "C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin\" ( copy "$(TargetDir)$(TargetName).*" "C:\Program Files\Microsoft SQL Server\MSRS10.MSSQLSERVER\Reporting Services\ReportServer\bin\" )

IF exist "C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin\" ( echo SQL Server 2012-MSRS11 exists )

IF exist "C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin\" ( copy "$(TargetDir)$(TargetName).*" "C:\Program Files\Microsoft SQL Server\MSRS11.MSSQLSERVER\Reporting Services\ReportServer\bin\" )

IF exist "C:\Program Files\Microsoft SQL Server\MSRS12.MSSQLSERVER\Reporting Services\ReportServer\bin\" ( echo SQL Server 2014-MSRS12 exists )

IF exist "C:\Program Files\Microsoft SQL Server\MSRS12.MSSQLSERVER\Reporting Services\ReportServer\bin\" ( copy "$(TargetDir)$(TargetName).*" "C:\Program Files\Microsoft SQL Server\MSRS12.MSSQLSERVER\Reporting Services\ReportServer\bin\" )

IF exist "C:\Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer\bin\" ( echo SQL Server 201x-MSRS13 exists )

IF exist "C:\Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer\bin\" ( copy "$(TargetDir)$(TargetName).*" "C:\Program Files\Microsoft SQL Server\MSRS13.MSSQLSERVER\Reporting Services\ReportServer\bin\" )

IF exist "C:\Program Files\Microsoft SQL Server\MSRS14.MSSQLSERVER\Reporting Services\ReportServer\bin\" ( echo SQL Server 201x-MSRS14 exists )

IF exist "C:\Program Files\Microsoft SQL Server\MSRS14.MSSQLSERVER\Reporting Services\ReportServer\bin\" ( copy "$(TargetDir)$(TargetName).*" "C:\Program Files\Microsoft SQL Server\MSRS14.MSSQLSERVER\Reporting Services\ReportServer\bin\" )

net start "SQL Server Reporting Services (MSSQLSERVER)"

granted that the:

copy "$(TargetDir)$(TargetName).*" "$(DevEnvDir)PrivateAssemblies\"

is in all likelihood redundant (going to happen again in the commands), but "I'm covered" (i.e. if I build the SSRS DPE in VS2013, register it in SQL Server 2012, I'm going to see the extension in VS2010 when I create a report or need the Report Query Designer to be custom, based on the (custom) DataSource selected).

also, some nice procecessor specific logic here: http://code-jedi.com/blog/post/Using-Platform-Specific-Libraries-from-a-Platform-Agnostic-Project.aspx

Rob K

user3620831
  • 11
  • 1
  • 4