Tuesday, February 26, 2013

SAS Deployment Manager and Meadow Muffins

Ok, so I am deep in the depths of the SAS Deployment Manager and am learning things the hard way (and spending time curled into a fetal position).

Ok, let's start with uninstall because it is this morning's pain point.

When creating a quiet uninstall, here is the command I was using:

"C:\Program Files\SAS 9.3.0 (SAS BI Solutions)\SASDeploymentManager\9.3\sasdm.exe" -uninstall -record -responsefile "c:\temp\uninstall2.txt"

I have highlighted in yellow my mistake. By including the -uninstall, the resulting responsefile was missing a critical component:


Why SAS does not ignore it, I am unsure of. How do you know it fails? Well, you don't easily. It seems to run, then just goes back to a command prompt. The sas.mif file will show a failure if you go and look at it:

cd %TEMP%
type sas.mif

Watch this issue on the install as well. Per the SAS documentation:

If you use any other command line options while using record, those options are not included in the response file. To properly use the response file, you must repeat those same command line options with the playback.

  Huh? Why would you leave out critical features on a quiet install/uninstall?   The next joy here is the little meadow muffins SAS leaves everywhere. You still have a Program Files entry, registry remnants, Start Menu leftover, etc.   To be honest, the process is getting WAY, WAY easier and the above issues are mostly documented. However, here are some suggestions for the future:  

  • Allow a command line option that will remove EVERYTHING. Don't make me code against the registry and muck with the Start Menu. As it stands, i will have to have a script do this which should be unnecessary.
  • Do not accept extraneous commands on the record part of the responsefile. Flag them or ignore them
  • Do not care about the order of the command options. (see below)
  • Offer a utility that can help create the responsefile rather than doing it all command line. If one is out there, i am unaware of it.
  • Retrofit the hotfix issues into 9.3M1. Some commands like silenthotfix are only available in 9.3M2 and there is no reason they should not be available for 9.3M1 that I can think of.

Proper Steps to Do Install (make sure you have the correct order)

Create a response file:

"C:\Program Files\SAS 9.3.0 (SAS BI Solutions)\SASDeploymentManager\9.3\sasdm.exe" -record -responsefile "c:\temp\install.txt"

Execute it:

c:\Packages\SAS93Depot\setup.exe -wait -quiet -responsefile "C:\temp\install.txt" -loglevel 2

Proper Steps to Do Uninstall

Create a response file:

"C:\Program Files\SAS 9.3.0 (SAS BI Solutions)\SASDeploymentManager\9.3\sasdm.exe" -record -responsefile "c:\temp\uninstall.txt"

Execute the response file:

"C:\Program Files\SAS 9.3.0 (SAS BI Solutions)\SASDeploymentManager\9.3\sasdm.exe" -wait -quiet -responsefile "C:\temp\uninstall.txt"

[UPDATE: 02/26/2013 7:06PM MST]

- Order of parms does not seem to matter. I am crashing on the SAS install due to the threading within my own application. Where the bug lies? I do not know but it is not pertinent to this topic.

- I had to go and back out some values from the registry. I must have deleted over 50 keys. I am unsure why so many keys are needed. This is something that I think SAS could improve upon.

SAS throwing RPC error

If you are doing code in C#  and get this error when creating a LanguageService: The RPC server is unavailable. (Exception from HRESULT:...