Thursday, January 30, 2014

Telerik Control Panel crashes repeatedly

At first, it makes me doubt a product when I go to install their latest update and I get the great wall of text with this giant exception stack trace. After lots of Google searches, imagine my surprise when nothing helps me solve the issue. Come on, somebody should have experienced this before now. So I admit defeat and enter a support ticket.

A quick response, and I find out that our proxy server is very aggressive with caching rules and I was continually getting an old XML document that the installer uses to generate it's links.

So if you ever have an issue, just go to: http://www.telerik.com/resources/telerikinstaller/ReleaseV5/ProductsInfo.xml and force your browser to reload.


Here's the stack trace in case you see a similar issue:

Application Version: 2014.1.127.3
Description: Application needs to close
Details:
Telerik.CommonInstaller.InstallerUIBase.Navigation.NavigationException: Getting view model failed. ---> Telerik.CommonInstaller.Application.Exceptions.ProductServiceException: Failed to create Products due to invalid product definition. ---> System.ArgumentException: Requested value 'TestStudio' was not found.
   at System.Enum.EnumResult.SetFailure(ParseFailureKind failure, String failureMessageID, Object failureMessageFormatArgument)
   at System.Enum.TryParseEnum(Type enumType, String value, Boolean ignoreCase, EnumResult& parseResult)
   at System.Enum.Parse(Type enumType, String value, Boolean ignoreCase)
   at Telerik.CommonInstaller.Application.ControlPanel.Helpers.ControlPanelItemModelFactory.<CreateControlPanelItemModel>b__11(String x)
   at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext()
   at System.Linq.Buffer`1..ctor(IEnumerable`1 source)
   at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source)
   at Telerik.CommonInstaller.Application.ControlPanel.Helpers.ControlPanelItemModelFactory.CreateControlPanelItemModel(RawProductVersion latestRawVersion, IEnumerable`1 allVersions, Boolean isLicenseActive, InstalledProductDetector upgradeHelper)
   at Telerik.CommonInstaller.Application.ControlPanel.Helpers.ControlPanelItemModelFactory.GetControlPanelItemModel(IList`1 productVersionsPerProductCode)
   at Telerik.CommonInstaller.Application.ControlPanel.Helpers.ControlPanelItemModelFactory.GetControlPanelItemModels(IList`1 productVersionLicenses)
   at Telerik.CommonInstaller.Application.ControlPanel.Services.ControlPanelProductService.GetControlPanelItemModelsPrivate()
   at Telerik.CommonInstaller.Application.ControlPanel.Services.ControlPanelProductService.<GetControlPanelItemModels>b__0()
   at Telerik.CommonInstaller.Application.Services.ProductService.CatchAndRethrow[T](Func`1 action)
   --- End of inner exception stack trace ---
   at Telerik.CommonInstaller.Application.Services.ProductService.CatchAndRethrow[T](Func`1 action)
   at Telerik.CommonInstaller.Application.ControlPanel.Services.ControlPanelProductService.GetControlPanelItemModels()
   at Telerik.CommonInstaller.ControlPanel.ViewModels.PageViewModelRepository.get_ProductsPageViewModel()
   at Telerik.CommonInstaller.ControlPanel.ViewModels.PageViewModelRepository.GetViewModel[T](Object argument)
   at Telerik.CommonInstaller.InstallerUIBase.Navigation.NavigationControllerBase.<>c__DisplayClass6`2.<GetViewModelAndNavigateToSubsequentPageAsync>b__4(Object sender, DoWorkEventArgs args)
   at System.ComponentModel.BackgroundWorker.OnDoWork(DoWorkEventArgs e)
   at System.ComponentModel.BackgroundWorker.WorkerThreadStart(Object argument)
   --- End of inner exception stack trace ---
   at Telerik.CommonInstaller.InstallerUIBase.Navigation.NavigationControllerBase.<>c__DisplayClass6`2.<GetViewModelAndNavigateToSubsequentPageAsync>b__5(Object sender, RunWorkerCompletedEventArgs args)
   at System.ComponentModel.BackgroundWorker.OnRunWorkerCompleted(RunWorkerCompletedEventArgs e)
   at System.ComponentModel.BackgroundWorker.AsyncOperationCompleted(Object arg)
   at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
   at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)

Wednesday, September 18, 2013

Converting Bootcamp partition to Virtual Machine

So the time has come where I want to replace my Bootcamp partition and move to more of a library sort of things.

USB 3.0 External HD Enclosure and a WD 500GB 2.5" SATA III 7200 RPM is enough portable storage for storing my less used VMs and only pull down to the SSD drive the ones I use most.

I'm now at the point, that my Macbook Pro 13" (MacBookPro9,2) is powerful enough to run my work development environments as virtual machines. Bootcamp while does offer better performance, it doesn't offer the ease of being able to juggle / upgrade operating systems.

But, the largest caveat was working with Windows 8 and VMware Fusion being unable to use the built-in tool to convert the partition to a VM.

Instead, I had to use the tool VMware vCenter Converter natively under Windows 8.

Only then after the conversion, it didn't work. :(

After lots of searching I found out that essentially the boot manager needed to be fixed on the VMware new virtual hard disk. So back to MSDN Subscriptions, get the Win8 ISO image and then setup the ISO image to boot before the hard drive.

A thanks to this great VMware KB Article 1037507 , I was able to reset the Boot Configuration Data (BCD) and viola, I can now wipe the partition as my old Windows 8 Bootcamp partition is now a VM. Now I can go and evaluate Windows 8.1 with the new development toolchain as a new VM. More on that later.


Friday, September 7, 2012

Win8 Native ISO Support

It's about time. Another area where Microsoft has finally caught up to what we've had in other, more powerful operating systems. Native ISO support. You can finally mount images, and burn them.

Oh, you just can't create them natively. In 2009 with Windows 7 we could burn the images, and now in 2012 we can read the images. So wait until 2015 for us to be able to create them.


Monday, August 20, 2012

Fixing issue where Win8 Enterprise can't activate

So having some free time, I finally reformatted my development laptop and installed Windows 8 RTM. All goes well until I can't activate it and get the following error message:

Windows couldn't be activated. Error code: 0x8007232B






Ok, so now time to go fix this.

First think to notice is that the key seems to be already entered. Only this is not the accurate key, you will need to install your product key via your particular method. For me, it's via my MSDN subscription.

Run the cmd application in administrator mode.

Move your cursor to a corner to bring up the Win8 overlay. Click on Search and enter cmd.

Now Right Click on the cmd app and select the Run as Administrator



Now enter the command with your given product key as:

slmgr.vbs -ipk "YOUR_PRODUCT_KEY"



You will get a prompt that the product key was installed. Re-activate and it will be successful.




Thursday, September 29, 2011

Fixing Orphaned Users after DB Restore

I restored a database that was backed up from our integration environment, and restored it to my local SQL Server and then my software couldn't log in via SQL Server Authentication.

You see the issue is that the SID was not recognized and needs to be rebuilt. You can find out what you need to use by issuing the following command: 

MSSMS - exec sp_change_users_login











This will list the users that are currently orphaned. So to fix, you just need use the Auto_Fix argument and add the user.

exec sp_change_users_login 'Auto_Fix', 'youUserId'


Tuesday, September 27, 2011

While studying the upcoming browsers and looking to decide on which HTML 5 browser to target, I came across the great article that is just reminding me about Microsoft tactics. If you can't beat them, just over saturate the market until you can claim to be a leader, rather then a patchy washed up browser.

IE[x] is the new IE6
IE[x] is the new IE6

Monday, September 19, 2011

And Now for Something Completely Different

WinRT/Metro...the story continues.

I love writing software. I like to tinker with new things and to see what is possible. I was quite excited by two major developments. Windows 8 with Developer tools and the G+ API released last week. This should be straight forward right? I mean promises of a new programming paradigm in HTML 5/JavaScript and visions of circles and Google goodness on a new Tablet device, it should have been a wonderful couple days of coding. Right?

Welcome to your new walled garden:


This all started when I fired up my new preview of Visual Studio 2011 and discover that this edition of VS only supports Tailored applications. Ah, there is a new version of Visual Studio 2011 for MSDN subscribers.

So after much research and continual searching, the truth seems to coalesce into a clearer picture except for all the fear uncertainty and doubt that I must be on the right track. This is after all a Microsoft product.

HTML / JavaScript skills are not about web development using these languages, but about levering the knowledge of the skillsets so that you can get access to the WinRT APIs. There will still be the requirements of learning a new API and all that that entails.

C# has gotten some slightly different interfaces to allow you access to WinRT, but it seems this is all about moving away from Win32. There is a new sandbox and security model and as such, some times will not cross over between Metro Style land and traditional C#.

If you need some shared code, then you'll have to be writing something compatible with the Portal Library Tools so that you can get access to  your existing data. And now we've got a new picture emerging. What we really have is the language of your choice, to a new WinRT API structure. You can go with C# with its really thing layer between, with JavaScript, or with C++/Cx extensions and their new COM redux.

There are two platforms that you can target. The Desktop and all the traditional .NET development, including Silverlight and all that this experience gives you, or the new Metro UI for gesture based UI development that targets tablets and smartphones sans Silverlight. This implies that the Silverlight experiment is dead. Well not dead, but on life support. It will live on for Enterprise LOB applications, but the original idea as a Flash killer will not be realized nor will it be the Apple killer Microsoft wanted. And if you want to use these new tablets and smartphones, you will have to target Metro as Win32 will not be supported on ARM.

Todd Anglin has a great diagram about how to choose the best technology with what we know at this point.
C# as a language is not going away, but you're going to have learn a new API stack. Early reports is that converting Silverlight to Metro is not fun, and it would be better to just target a creating new enhancement Metro app to your existing portfolio.