Treasure tag on Windows phone – Where’s the app?

I recently bought a Nokia Lumia Treasure Tag to assist me in finding my keys on the occasions I lose them.
The treasure tags came out in 2013, but I didn’t really pay them any attention. Between then and now, the Treasure Tag Windows Phone application has been deprecated (unavailable in the UK region was the error message – perhaps globally..?). Annoyingly, the apps for Android and iPhone are still unavailable.

However, after a little (a lot) of messing around with the phone (a Win 8.1 Lumia 640) the recently updated Gadgets application noticed that i’d paired with a Treasure Tag.
Treasure Tag Gadgets

After a couple of screens of initial setup, my Treasure Tag is working as expected – with Phone-tag Findme functionality working as expected and the Tag’s button also making my phone react.
Treasure Tag screen

Installshield LE for Visual Studio 2012 : x64 support

When Microsoft released Visual Studio 2012 on the 16th of August 2012, I was disappointed to learn that they had removed support for the Setup and Deployment project types.

InstallShield Limited Edition (ISLE) is free for Visual Studio developers and replaces the functionality of the project templates in Visual Studio for setup and deployment.


Fortunately you can still open an VS2012 solution files with VS2010, and continue to use the Setup and Deployment functionality from there.  However you’ll have problems when the applications/assemblies you want to package are using .NET 4.5 as VS2010 will not support those projects.

This left me in a bit of a pickle as i’d pushed the .NET version to 4.5, which left me the option of using Installshield Limited Edition for Visual Studio.   However the version on the Installshield website was labelled as targeting Visual Studio 11.  Proceeding to download it, and install it revealed it didn’t work with VS2012 at all.  Thankfully last week I stumbled across a blog announcing SP1 to Installshield 2012, and the Installshield LE for Visual Studio has also been updated to support Visual Studio 2012 RTM.

Downloaded, installed and it works!!  Woo hoo.  The Installshield UI has been crammed into the Visual Studio IDE, but it works well.  Instead of disabling options you can’t use, they’ve left them enabled with the a “sales pitch” screen appearing when you click on them (fair enough).

I created the installer for my windows service pretty quickly, built it and noticed that it wanted to deploy to C:program files (x86) and not my usual C:program files directory.  After a little googling, it seems that the Limited Edition is just that, and x64 installations are not supported.

Installshield Feature Comparison 2012 : 64bit Architecture


The usual predefined folder of ProgramFiles64 is not present, and when you try to install to [WindowsVolume]Program files it gets corrected to [WindowsVolume]Program files (x86).  As installscript is disabled in Installshield 2012 LE, i can’t do much else to fool it.  The good news is that because it’s just a file copy that Installshield is doing and my assemblies are set to Any Cpu they still run as x64 processes.

It’s not  just the file copying that’s affected by Installshield 2012 not having “Enhanced 64-bit application support”, registry entries are put into the Wow6432Node part of the registry.  Registry settings being in the wrong location is something that i can handle in my code… (that’s another blog post).

I did look at trying to leverage the Visual Studio ClickOnce deployment to deploy my windows service, but it’s not really doable for the following reason;

ClickOnce does not support custom destination folders. The reason why ClickOnce-deployed applications are installed into the cache is that such cache is maintained by the .NET Framework, which is responsible for executing applications deployed via ClickOnce.


So what’s the solution?

If you don’t care about the fact that the files get installed to the x86 program files folder and you can fix any other issues in your app then use Installshield 2012 LE.

If you don’t mind using VS2010 and you are using .NET4 or below then that’ll still work.

Otherwise unless you want to roll your own solution, you’ll have to use a separate installation program such as Installshield 2012 Pro.

Google Chrome – Kerberos, Delegation, Negotiation, Auth

One of my more recent jobs was setting up a webservice that is both separated from the web application box and in need of the windows credentials of the original caller.  After discovering a lot of the pain around SPN’s and kerberos where I found myself bound to internet explorer,  I was really keen to get it working in my browser of choice.
(I’m using Windows 7 and my web applications are on a windows domain).

There is the mention of various websites of using the parameter –auth-negotiate-delegate-whitelist when starting Chrome..
This never worked for me.

What did work is documented here
Basically, just adding a registry entry to specify your whitelist of servers.

What the document doesn’t tell you is that after making the registry change, you have to reboot for the change to take effect, just by exiting chrome or killing the chrome process won’t cut it.  After making the change, close Chrome and ensure you kill any of the resident Chrome processes with task manager.

Are certifications worth the paper they’re printed on?

I seem to often be having the discussion these days about Microsoft Certification, and it’s actual value. Having worked with the Microsoft stack of development and server technologies for over 12 years I’ve got a lot of proven experience with products like SQL Server and Visual Studio so why bother taking the exams if it’s evident I know the product/technology well??

I don’t view experience and exams as mutually exclusive, in fact since the exams normally heavily emphasise the new features in that version it shows you have a breadth of knowledge in that area. Too many developers stick to what they know and don’t make use of the advances in technology, the VBA developer brings with him the “on error resume next” / “goto” mistakes of the past up to .NET.
However, taking exams with little prior knowledge of the subject areas or professional experience in that area isn’t a quick route to success. It’ll put you on the right track, but just because you have your MCPD it doesn’t make you better than the guy sat next to you with a careers worth of experience.

Certification shows a desire to learn, there were a few topics i learnt about whilst studying for my 70-515 .NET4 Web exam that I haven’t ever spent anytime on. Theming and skinning being two of those areas, I’ve never bothered using it as CSS has always been good to me… But at least I understand what it is and why I’m choosing not to use it.

I’ll end this exploration into my opinions here, and will be sure to post again when I get my MCPD badge and gun.

Resetting the admin password of a Visual Sourcesafe database

I stumbled across an old visual studio database at work that was inaccessible.

After finding a couple of Visual Sourcesafe crack applications, i settled on doing it manually with a hex editor (HxD Hex Editor).

Find the sourcesafe database in windows explorer, open the data directory and open um.dat.

Changing to the values highlighted in red reset the Admin password to an empty string.

Crappy Code Games

In May, the SQL Server conference SQLBits 8 took place in Brighton. Fusion-IO had sponsored the event and had initiated the first Crappy Code Games event. This consisted of 4 challenges designed to flex the IO of the Fusion-IO drives.

Prior to the Crappy Code Games final in Brighton there were 2 previous warm up events in Manchester and London, I attended the London event and entered one of the challenges; “Maximum number of transactions in a minute” and came third bagging myself a podium place and a Winmo phone.

Then came the final, which I actually couldn’t attend.  I left a revised script file with @mdknee who entered it under my name, and later that night received a few tweets from the Fusion-IO representatives from the event.

Somehow, I’d managed to bag first prize which was a flight experience with 2 high performance aircraft.

Here’s a pic of me being presented with the award by Steve Woziak (I’m the piece of paper 🙂 )

On the podium at Crappy Code Games

And some links where i’m name checked


MIUI Android – Tasker Volume interaction problems

Having recently started putting community rom’s onto my Motorola Defy (tinkered with CyanogenMod and LiquidArc), I got a bit fed up with the LiquidArc rom and fancied a change; Queue the MIUI android rom.

I’m not going to go into the virtues of the rom, but needless to say it’s put my ICS angst on hold.

One issue i did come across was that Tasker wasn’t quite working correctly.  Whenever it came to change the system volumes the correct changes never got applied.  After googling it, there’s a few suggestions to change the “Third Party Access” setting in the call settings.  However in version 1.11.18 this setting doesn’t appear.

The correct solution is that the version of Superuser in the rom is particularly keen to deny the AllowPhone state permission.  All of the other versions of superuser that i’ve seen only control access to applications that specifically request root access.  This version doesn’t seem to have that limitation.Explicitly allowing Tasker to “Monitor Calls” means that it’ll once again be able to control the volumes.

Json viewer for debugging in Visual Studio 2010

When  dealing with XML in Visual Studio, it’s really nice debugging it.  You hover over the variable and click XML Visualizer.

However, the same can’t be said for dealing with JSON.  So I went searching the extension library in Visual Studio 2010 where I’ve got a plethora of other useful tools (mainly around syntax highlighting).. no dice.

A quick google later, and i’ve downloaded

The files need to be copied to the following locations;
JsonVisualizer.dll –  %USERPROFILE%My DocumentsVisual Studio 2010Visualizers
JsonViewer.dll –  %ProgramFiles(x86)%Microsoft Visual Studio 10.0Common7IDE
Newtonsoft.Json.dll –  –  %ProgramFiles(x86)%Microsoft Visual Studio 10.0Common7IDE

i’ve now got a shiny new JSON viewer for debugging with.