Author Archives: Andrius

TomTom Via 135 can’t update maps (solved)

Last week I was solving big issue with my TomTom Via 135 (including Lifetime Maps). As usually (every quarter) I got email about new free map available for my navigation device. As usually I connected my device to computer and expected smooth update process. But this time things went bad…

Download of a map went OK using MyTomTom application. Maybe I even didn’t saw at first, but later I noticed that I got this error while updating the maps.

TomTom Via 135 not connected. Installation interrupted. Please reconnect your navigation device.

1) Not connected. Installation interrupted. Please reconnect your navigation device.

I immediately started cheeking what have happened. Old maps from my navigation device were deleted and new maps were not yet installed. I was getting red screen on TomTom navigation and a message “Maps not found”.

I tried like ten more times to proceed with copying, but neither was good. Still was getting the same message (1). So started Googling…

I found such issues similar to mine: “tomtom installation interrupted”, “tomtom not connected”, “tomtom no maps found”. Also bumped into this advices from TomTom support (copied for the future):

  • Make sure you have the latest Service Pack for Windows installed.
  • Reset your navigation device and make sure that your device is switched on when connecting to the computer.
  • Make sure you are logged in as an ‘Administrator’ to ensure that you have sufficient rights to connect new hardware to your computer.
  • Connect your navigation device to a different USB port on your computer.
    You should plug the USB connector directly into a USB port on your computer and not into a USB hub or USB port on a keyboard or monitor.
  • Make sure that you are using the original USB cable that came with the navigation device and connect it directly to the device. You cannot use the mount to connect your device to your computer.
  • Check if the USB cable is faulty.
    If possible, use a different USB cable to connect your navigation device to the computer.
  • Firewalls, antivirus scanners and pop-up blockers can also interfere with MyDrive Connect. It may be necessary to configure your firewall and router to allow MyDrive Connect full access to the internet.
  • If you are using MyDrive Connect on a business network, for example at your workplace, be aware that your company may have restrictions and access policies that may prevent MyDrive Connect from connecting to TomTom servers. Also, if you are using a public network, it could be an unstable internet connection and could cause a download or an installation failure.

None of these tips were helpful. Also tried many suggestions from TomTom forums, but also without luck. I was still experimenting after few days. After cache cleanings, re-installations, resets, different USB ports, different computers, different browsers (TomTom MyDrive) and various other things I saw this new error while TomTom was plugged in (for a long time):

TomTom USB device not recognized

TomTom USB device not recognized

Again Googled and in few posts found out that TomTom device, if connected successfully, should show up in “Control Panel\Hardware and Sound\Devices and Printers” and also in “Device Manager\Network adapters”. I was not seeing it.

In the mean time, I got automatically “critical update” for MyTomTom software (Windows) and it became TomTom MyDrive. Web interface had this name long time ago. But error didn’t disappear after software update.

TomTom MyDrive installation interrupted. Please reconnect your navigation device

Installation interrupted. Please reconnect your navigation device

The only thing I was suspecting was the same USB malfunction error. Totally accidentally I tried not TomTom original cable. As I saw later this tip was already mentioned by TomTom itself: “Check if the USB cable is faulty. If possible, use a different USB cable to connect your navigation device to the computer”. I have used micro USB cable from my phone to connect TomTom navigation to a computer. I needed carefully insert micro connector to the navigation device, because it was not like TomTom hook thing and I was afraid to damage micro USB slot in the device itself.

Solution: with the new USB cable I updated the maps on TomTom from the first try. After many hours I was again able to use the device. But I am still not sure if this “fix” is future proof… 

I hope this information summary will help you in your case solving, dear reader!

For the record, I also made some print screens of TomTom device details (Device manager -> Network adapters -> TomTom), before the fix.

TomTom device manager network adapters general

Currently, this hardware device is not connected to the computer (Code 45)

TomTom device manager network adapters driver

Preparing for exam 70-583: Designing and Developing Windows Azure Applications

Last year I have finished my MCPD certification on “Windows Developer 4″. This year I want to achieve MCPD on “Windows Azure Developer”. To get the certification I only need to pass one exam: 70-583 Designing and Developing Windows Azure Applications.

My certifications in progressMCPD Windows Azure Developer prerequisites and requirementsI was looking on internet for self-training resources which could help me and created a list. If you know any other good material for preparation, please add it to comments.

  1. On exam page you will find links to preparation resources. Official self-paced training “Learning Plan for Designing and Developing Windows Azure Applications” is little bit outdated. Information provided is from years 2010-1011. BUT, this is an old exam, so you don’t need to know latest & greatest from Azure. Strangely, link is not working if I am singed in with Microsft live.
  2. On this site you will find some more links which helped other people to prepare for the exam.
  3. One more guy sharing his preparation material: “Top Five resources to help you prepare for 70 583 Designing and Developing Windows Azure Applications“.
  4. Useful discussions in MSDN forum “Looking for Exam 70-583 material“.
  5. Probably too new for the exam, but very extensive material: “Learn Windows Azure with these free Microsoft Virtual Academy courses online“.

Of course, exam is not everything what you need to know to become a good Azure developer. I also recommend to follow latest news on Azure on Channel9.

Install msi silently with PowerShell

If you have prerequisites for your application, you know how big pain is to install all of them. And after you have done multiple installations over and over again, you can feel as a monkey doing the same thing every time.

To avoid such situations and improve deployment process you probably already started using PowerShell, because it is very very flexible power tool for software deployment challenges.

Recently I added some automatization for deployment process with installing msi in sequence and even without user interaction. Not everything can be installed without user interaction (silently). But you can always choose what to install with UI for user’s input, silent installation without UI and optionally to wait for a msi installation to finish.

In the example below msi setup is installed and PS waits till it is finished. No user interface is displayed, because msi doesn’t require any user input. You can even pass some parameters to MSI.

You can refactor this example to your to needs. And don’t forget to share your script in comments below!

Pass arguments to WIX\MSI setup

It is possible to pass needed arguments to MSI\WIX setups from command line. This approach can be used to make deployments more customizable.

First you need to define properties in WIX definition:

Second, you need to start MSI with parameters to set before defined properties:

In the end, you could get user interface fields pre-filled with your passed values:

WIX MSI example

SVG images display in XAML

Last weekend I was looking for possibility to display SVG images in WPF applications. Svg is an vector image format (two dimensional). It means, that you can scale image without any quality loss and image will stay sharp.

One simple way to do that is to convert SVG image to Canvas object. Or you can create custom Canvas by yourself.

Let say I have SVG image source:

XAML code got from SVG to XAML converter:

What you will see in items control (alternating rows enabled):

SVG example in xamlIt was not so difficult in the end.

Import certificate to store and grant rights with PowerShell

I will show you example how to import certificate to certificates store on computer. In my example I will use pfx certificate, but it doesn’t matter, you can also use *.cer. We will use .NET X509Certificate2 and X509Store classes do do all the work.

At first certificate object is created:

PersistKeySet is set to store certificate’s private key permanently.

Afterwards we get a certificate store and import the certificate to it:

With the same approach we can import to multiple certificate stores the same certificate.

Usually to use the certificate in .NET code you need to grant security rights for account on which app is running, so account could access the certificate’s private key. It can be local account, system account or domain account, but the way to do that is the same.

You need to install WinHttpCertCfg (certificate configuration tool) on machine where your certificate exists and app is running. Default installation path on 64 bit windows is “C:\Program Files (x86)\Windows Resource Kits\Tools”.

After tool is installed needs to run command similar to

winhttpcertcfg.exe -g -c LOCAL_MACHINE\MY -s Test -a “NETWORK SERVICE”

To execute such command in PS you need prefix it with &

If granting succeeds you will get such message:

Matching certificate:

Granting private key access for account:

So whole import PS script will be

If you see any mistake or improvement point, please write it below in the comment. Thanks.

Goodbye Google Reader

Google reader is was my every day tool. Just to show how great it was in good hands, here are some statistics from my usage:

From your 141 subscriptions, over the last 30 days you read 1,295 items, clicked 362 items, starred 0 items, and emailed 0 items.

So I have read almost 100 000 items in last 6 years! I couldn’t believe it myself. RSS reader really saved me hours of clicking via different websites.

Total current subscriptions count maybe is not impressive, but I am constantly removing dead or no more relevant rss feeds.

I already moved all my subscriptions from Google Reader to Feedly. I expect that Feedly will outrun Google Reader functionality soon. I have already found two pros comparing to old reader.

To say the truth, after two weeks with Feedly I am not missing Google reader at all…

Edit config file with PowerShell

Recently I needed to edit machine.config with PowerShell. I thought at first to use config transformations, like I do for application configs (app.config or web.config). But because machine config can have different content (have or don’t have some sections configured) transforming such file becomes complex. I quickly found another solutions for this: xml file editing. PowerShell is very good at it.

Let’s say I have long running transactions on machine. To increase transactions timeout to 1 hour, needs to add or update following configuration in machine.config:

Depending on application platform (32 or 64 bits) and which .NET framework version is used needs to determine which machine config needs to be modified. You also can use .NET RuntimeEnvironment.SystemConfigurationFile property to get machine config location.

Now lets write a function which updates the config file

So that’s all. Here is the working script file. Machine config transformation