Tuesday, June 29, 2010

Windows 7 Blackscreen of Death BSOD - Completely black desktop with mouse activity.

Just got a windows 7 notebook machine back up and running after suffering the BlackScreenOfDeath Issue.

Initially I suspected that the screen settings had shifted the desktop off to an external monitor which was not currently attached. But when no context menu came up from a right click of the desktop, I realized there was no desktop running. This led me to believe that explorer.exe had not started. So with a ctrl+alt+del I got to the task manager (good sign) and could see that indeed there was no explorer.exe process running.

The next step was to try and fire it up manually using the "New Task" button on the Task Manager. This only returned an error message stating that no explorer.exe could be found. I did a little Google-ing to confirm that explorer  was still explorer in Windows 7 (which it is). Along with that Google search I found out that I was experiencing the BlackScreenOfDeath issue and that the security company PrevX had a solution (PrevX Article).

I later read that the PrevX solution was not the fix-all. It did address the issue of a possible missing registry key which points to the location of explorer.exe for the system to launch the desktop process when a user logs on. After confirming the registry key was intact, off to confirming the location of the exe.

The explorer.exe file should be located in the Windows directory, but it was not. Which explains why the desktop failed to launch leaving the user with the BSOD. I did a search of the user's hard drive and found several versions of the exe in question in subdirectories located in the Windows\winsxs directory. Curiously, I launched one of the executables located under an "AMD64..." directory (even though this was an INTEL) and the desktop loaded. The explorer.exe's under the "WOW64..." and "X86..." directories failed to launch with an error.

In the end, I copied the explorer.exe (the one that worked) from the Windows\winsxs\AMD64... directory into the Windows directory and restarted the machine.

Whaa Lahh, the machine is golden. Hope this helps.

Wednesday, June 23, 2010

From TIM


Serialize (convert an object instance to an XML document):
// Assuming obj is an instance of an object
XmlSerializer ser =
new
XmlSerializer(obj.GetType());
System.Text.StringBuilder sb = new
System.Text.StringBuilder();
System.IO.StringWriter writer = new
System.IO.StringWriter(sb);
ser.Serialize(writer, obj);
XmlDocument doc = new
XmlDocument();
doc.LoadXml(sb.ToString());

Deserialize (convert an XML document into an object instance):
//Assuming doc is an XML document containing a serialized object and objType is a System.Type set to the type of the object.
XmlNodeReader reader =
new
XmlNodeReader(doc.DocumentElement);
XmlSerializer ser = new
XmlSerializer(objType);
object
obj = ser.Deserialize(reader);// Then you just need to cast obj into whatever type it is eg:
MyClass myObj = (MyClass)obj;



Thanks Tim

Monday, June 14, 2010

To add user to ASAM
1) Create account
2) Add account and areacode relationship(s)

To add Sity client reports to a Client
1) Add Client SQLRS server account as "browser" to SityClient Reports folder.
2) Add Client SQLRS server account to the [AparcSystemsSpExecutor] role


NOTE:

Be sure all NEW procedures are added to the [AparcSystemsSpExecutor] role

To Add a SQLRS user
1) Create new machine/Windows account ("svcServiceAccount")
2) Add user to SQL server instance(s)
3) Add to:
i) AparcSystems with R/W permissions and AparcSystemsSpExecutor
ii) SityDb with R permissions
iii) SityDbxxxxx Client DB with R permissions and AparcSystemsSpExecutor
4) Add user account to SQLRS reports user param for Client via ASAM.

Saturday, June 12, 2010

When Posting Sity Client Reports, all reports must have their datasource properties changed to use:



Hit <Apply>

Thursday, June 03, 2010

When passing SQLRS report parameters through the URL be sure to use the ReportServer and not the Reports

Want to pass hidden parameters to an SQLRS report in a browser?
Just add the parameter name and value to the query string pointing at the ReportServer URL like so:

http://reportingserver.aparcsystems.com/ReportServer/Pages/ReportViewer.aspx?%2fReports%2fTransactionDetails&rs%3aCommand=Render&PARAMNAME=PARAMVALUE