Wednesday, December 16, 2015

How reliable is your backup?



Owning a PC for so many years, I've always followed what is considered a good practice for backing up files.

You'd think that Microsoft has a good reliable backup/restore tool. You'd think that after close to 20 years of a company this big being in business, a simple backup/restore tool would have your back in case of a disaster. Unfortunately, that's not the case. A backup is only guaranteed compatibility as far as that version of windows (excluding service packs/updates). A backup is not even covered by their technical support.


Windows 10 

Judging by the issue error that I received below (Windows 10); it seems that a new version of windows is unable to read the catalog from an older back up (Vista) in this case. It might be a bit unrealistic to expect another tool to cover these kind of cases, but seriously, how complicated is backup/restore ? compression and copying of files?


---------------------------
Windows Backup
---------------------------
Windows was not able to load the selected backup for the following reason:


There is a problem with the backup catalog. Restore from a different backup or create new, full backup. (0x810000E5)


Verify that this location is valid and try again, or consider choosing a different backup.
---------------------------
OK  
---------------------------




Norton System Work 360

Another older backup that I had was performed using NSW 360. I am not impressed as well with the quality of recovery tool. Apparently if you have an issue during the backup process with any of the files, Norton will inform you of a successful completion even though your backup might be partially corrupt.

Luckily, I was able to find a way around it in one of the technical support forums/chats http://community.norton.com/forums/succesful-recovery-corrupted-norton-360-backup-and-restore-set

I have to admit, even though the backup tool it's self is described as "Unreliable and childish" by some of the community users online. The technical support staff in Symantec is courteous and helpful to their max ability; after all they are L1 customer service, they don't write these apps, they are thrown under the buss to support them with what ever tools they are given.

The reason I say this is because my NSW360 subscription was expired, and I was given a free renewal for 2 days in order to restore my files.

Using the arestore.exe and arestore.loc files (feel free to download them), - Norton Portable Restore- I was able to run a manual restore as you can see below

Monday, May 13, 2013

How to change the account which SSRS Report Manager Web application runs under

After changing the selected account in both application pool and the rsreportserver.config file, you must force IIS to use NTLM as your authentication mechanism if you want to use Integrated Windows authentication only. To do this, follow these steps on the server that is running IIS:
  1. Start a command prompt. 
  2. Locate and then change to the directory that contains the Adsutil.vbs file. By default, this directory is C:\Inetpub\Adminscripts.
  3. Type the following command, and then press ENTER:
  4. cscript adsutil.vbs set w3svc/NTAuthenticationProviders "NTLM"
  5. To verify that the NtAuthenticationProviders metabase property is set to NTLM, type the following command, and then press ENTER:
  6. cscript adsutil.vbs get w3svc/NTAuthenticationProvider
The following text should be returned:
NTAuthenticationProviders       : (STRING) "NTLM"

DevExpress WPF Grid - NewRowItem is Evil!

If you need any kind of custom validation or special cross-column logic when you enter a new data (new row) in DevExpress.
I recommend to not use the out of the box DevExpress GridControl NewItemRow feature. It is evil!

  


My recommendation is to implement your own new row detail in a separate section.

Reason ? 

The row uses multiple mocked bound object through it's life time. Managing state changes is almost impossible.

If your data source is simple then it might work out. But once you need state inside your row, this feature fails.

For example, try adding custom columns with drop down boxes. Now add some custom logic to filter those drop down based on the object's state.
This is where the NewRowItem gets confused. Everytime you click on it, it will create a mock object at first, to bind the drop down boxes to it. Then when you select the first value -from any drop down- it'll recreate the object, and this time trigger the ColumnView.InitNewRow event.

Monday, May 6, 2013

How to diagnose a freezing Visual Studio plug-in

 What the hell are you doing Visual Studioooooooo!!!!!

Is a phrase I hear many times a week if not daily. If you are a .Net developer I am sure that you've been there.
As a developer, who write multithreaded apps, and made a blood pact to not create one that freezes, there is nothing worse than a continuous freezing -Visual Studio- development environment. 

Well, I have good news and some more good news. Whether you are using Visual Studio 2010 (VS2010) or Visual Studio 2012 (VS2012), there is a way to hunt the cause and disable it. You will need: 
  • NuGet: I am sure you already have it, if you don't. There is work around.
  • Component Diagnostics - another plug-in available through NuGet or at Visual Studio Gallery This plugin was developed by Paul Harrington. A great innovation, yet under exposed.

Diagnosing the problem 

If you just started facing the problem out of the blue, and you have a decent computer specs. It's possible that some plug-in updated itself, and like every software. It's possible to have bugs, especially with today's rapid agile releases. Performance testing is rarely ever implemented, again especially with free plugins. 

First, verify that its a plug-in. Use the DevEnv.exe /SafeMode argument

If your experience suddenly becomes better and no more freezing, then it's definitely a plug-in

Second, find the trouble making plug-in 

So what is making your VS environment freeze? using the above mentioned plug-in

go to the new Component Diagnostics tool window ==> Package Manager Tab
scrolling down the list, I search for the plug in that took the most time to load. One stands out VSCommandPackage with it's 10K microseconds AutoLoad time. 
10 seconds might not sound like a long time, but add to it to all the other packages Avg 0.5~2 second and it you start to feel it, everytime you open a solution. Possibly every time you open a file or even build.

How to fix it ?

Going back to NuGet, simply disable it and try the impact. Reopen VS. Open solutions, Menues and files, build. 




Saturday, November 7, 2009

How buggy software could bring great hardware to it's knees

Being a developer feels sometimes like a curse. Even though it can resolve complex software issues, 3rd party installs, etc... It is also painful to see 2-7 hours of you personal life time burn away because of another outrageous development mistake. Superior hardware components brought down on it's knees because of one line of code, or lack of it.

My latest painful experience was with the "HP Wireless Office Jet 8500 All in one Printer, Fax and Scanner" installer. Tsk tsk HP!
 At some point during installation, the software tries to install Flash9f.ocx V9. My computer; however, had Flash V10 installed. This caused an error. The TITLE of that error window had the following error code:

"hpzsetup.exe" "-f" ".\autorun_network.inf" "-networkonly" "-wStub" "263454"

Might as well say GUESS!

This simple Flash version check (which is less than 2 hours worth of development time) could have saved me "a single customer" 14+ hours of my time. I am sure that many other novice customers, would have returned this after a couple of hours of frustration and fiddling with the uninstall/install options. If not, they would have settled for 1/8 of the installed features during that buggy and faulty installation.
I wonder how much did this mistake cost HP; returns, phone support, reputation which equals future recurring purchases. That was my experience with Cannon scanners, and that's why I decided to try HP this time "Drivers". It seems that HP has fallen behind in this particular instance. The reviews on Amazon at the time of writing this blog were 26 (one stare) / 39 (5 star)
I guess they will keep falling, unless someone at HP wakes up and fix the installer before flash 12 :)

Below is another error code generated and logged after a recovery attempt.

---------------------------
Error Situation Code: 24749208
---------------------------
The following lines were retrieved from the installation error logs.



= Application did not return ERROR_SUCCESS. Returned 0x2

Exit code=1602

= Application did not return ERROR_SUCCESS. Returned 0x2

LaunchApp(X:\hpqtra08.exe -shutDown,1,00000000,00000000) failed with 2

Error opening key HKLM\SOFTWARE\Hewlett-Packard\Install\{624E7452-BA43-4f55-B9D5-FC75EEA0808B}. error=2

Error message received: Module X:\Flash9f.ocx failed to register. HRESULT -2147220473. Contact your support personnel.

Timed out waiting for product finish event

RUN: Driver UI Plug-In exits returning 50

= Application did not return ERROR_SUCCESS. Returned 0x2

RUN: Driver UI Plug-In exits returning 50

= Application did not return ERROR_SUCCESS. Returned 0x2

LaunchApp(X:\hpqtra08.exe -shutDown,1,00000000,00000000) failed with 2

Error opening key HKLM\SOFTWARE\Hewlett-Packard\Install\{624E7452-BA43-4f55-B9D5-FC75EEA0808B}. error=2

Error message received: Module X:\Flash9f.ocx failed to register. HRESULT -2147220473. Contact your support personnel.

X:\GPBaseService2.msi failed with return code 1602

MSIInstall() failed with 1602 for MSI GPBaseService2

Exit code=1602

Exit code=21

= Application did not return ERROR_SUCCESS. Returned 0x2

LaunchApp(X:\hpqtra08.exe -shutDown,1,00000000,00000000) failed with 2

Error opening key HKLM\SOFTWARE\Hewlett-Packard\Install\{624E7452-BA43-4f55-B9D5-FC75EEA0808B}. error=2

Timed out waiting for product finish event

GetDatFileName() returned FALSE. We need a dat file to run.

= Application did not return ERROR_SUCCESS. Returned 0x2

LaunchApp(X:\hpqtra08.exe -shutDown,1,00000000,00000000) failed with 2

Error opening key HKLM\SOFTWARE\Hewlett-Packard\Install\{624E7452-BA43-4f55-B9D5-FC75EEA0808B}. error=2

Error message received: Module X:\Flash9f.ocx failed to register. HRESULT -2147220473. Contact your support personnel.

Timed out waiting for product finish event


---------------------------
OK
---------------------------

Thursday, August 6, 2009

Problem upgrading Teradata ODBC drivers from v6 --> v12

Problem upgrading Teradata ODBC drivers from v6 -->; v12

I used to get this error while installing the Teradata ICU libraries v12
---------------------------
Shared ICU Libraries for Teradata
---------------------------
Error applying transforms. Verify that the specified transform paths are valid.

C:\WINDOWS\Installer\{8AFBC2EB-BB17-43C8-8AE0-5B7961A4A217}\1033.mst
---------------------------
OK
---------------------------

So I found a similar issue here http://support.microsoft.com/kb/299699 and I decided to remove the Teradata ICU reference using Windows Installer Cleaner http://support.microsoft.com/kb/290301

That seems to have resolved my problem, and this is why I shared it :)



Tuesday, January 27, 2009

SharePoint Unit Tests on a Vista Ultimate 64bit

An issue/problem I’ve experienced recently with VS Unit Testing & SharePoint OM Mode. It is impossible to run VS Unit Tests that connect to the OM on a 64bit machine. Reason is that Visual Studio is a native 32bit app and since it runs in splwow64 mode, it cannot connect to a WSS 64bit process. 32bit & 64bit COM dlls can't mix.

Just Something to observe if you get an error similar to 

Test method AiE.UnitTests.WorkshopBusinessRulesTest.UpdateWorkshopInstanceTest threw exception:  System.ApplicationException: Problem Accessing SharePoint site --->  System.IO.FileNotFoundException: The Web application at http://localhost:3333/workshops could not be found. Verify that you have typed the URL correctly. If the URL should be serving existing content, the system administrator may need to add a new request URL mapping to the intended application..