Talk:Garmin Mapsource installer

From OpenStreetMap Wiki
Jump to navigation Jump to search

Uninstaller

Is there an uninstaller going with it? Otherwise it might be more intuitive than .bat, but will cause a lot of trouble, forcing people to use mapsettoolkit and alike!--Extremecarver 08:07, 20 September 2009 (UTC)

See #Replies. --Ævar Arnfjörð Bjarmason

x64 support

Is the installer writing the correct entries on x64 windows? x64 needs to have entries placed under: KEY=HKLM\SOFTWARE\Wow6432Node\Garmin\MapSource--Extremecarver 08:07, 20 September 2009 (UTC)--Extremecarver 08:07, 20 September 2009 (UTC)

No it has HKLM\Software\Garmin\MapSource\Products hardcoded, but see #Replies. --Ævar Arnfjörð Bjarmason

recommend 7-zip lzma over zip compression

lzma is about 10% more effective in packing up garmin .img than any other compressor!...and is open source too.--Extremecarver 08:07, 20 September 2009 (UTC)

Nice, of course it's up to the distributor what sort of archive they use, but see #Replies. --Ævar Arnfjörð Bjarmason

.ini

It is painfull to have to use an ini (because creating it from bash/cmd.exe cannot be automated without 3. party tools). Would it be possible to create an .exe that does not need .ini but reads the needed information from the maps themselves? the FID and PID can be read from .TYP file (if opened in the FID/PID is written in HEX in the first line). If there are several .TYP files in the folder, the user should be asked something like: "Mapsource installer has found that there is more than 1 .TYP file included in the maps. .TYP files are used to change the layout of maps in Mapsource and on your GPS. Please choose which one you want to use!" and present a list of the .TYP files found in the folder. The basemap should default to 1. mapset00.img 2. basemap* 3.the lowest number of the maps.--Extremecarver 08:07, 20 September 2009 (UTC)

See #Replies. --Ævar Arnfjörð Bjarmason

Multiple Map files

Your examples contain just one map .img file. How do you install a map with several dozen map tiles/.img files? --Nop 18:37, 20 September 2009 (UTC)

Just the same. The map tiles are defined in the overview map (maybe also reference in tdb?? - I dont't think so however) and not in the registry.
There is only one thing that WILL cause trouble, several different tdb/overview maps in the same folder. For example to have different .TYP files associated, or different regions. (a practical example would be to have tiles off Europe in one folder including tdb and have other tdb/overview maps specifying this down to country level but using the same *.img map tiles. Or the same map once with, and once without contourlines.--Extremecarver 19:08, 20 September 2009 (UTC)
None of that is supported, but see #Replies. --Ævar Arnfjörð Bjarmason

Check for FID already existing

Mapsource cannot display two different maps that share the same Family-ID (FID). Therefore the installer has to check that no other map installed uses the same FID. In case another map already uses the same FID there should be a question whether the other map shall be deleted (and therefore the installer has to remove the relevant registry entries) or whether the FID shall be changed to a free one (in this case the installer needs to write the changed FID to both registry and .TYP-file)--Extremecarver 08:43, 21 September 2009 (UTC)

Good to know, but see #Replies. --Ævar Arnfjörð Bjarmason

Replies

Firstly thanks for your interest in this program. I'm sorry for not replying sooner but I wasn't watching this talk page.

I wrote this program to scratch an itch which was being able to install the MapSource maps I distribute on Windows. I wrote it using AutoIt because I couldn't find anything better at the time.

After I released it however I found out that it would be a lot better to use the Nullsoft Scriptable Install System. This is what garmin.na1400.info gives you when you download maps there, and it's much better than mine. It's:

  • Not written as an ad-hoc hack but using an actual framework designed for this
  • Has an uninstaller
  • A familiar interface
  • It's easy to add new features using NSIS macros

When I next hacked my Garmin Mapsource installer I had the intention of throwing away the existing stuff and using the installer at garmin.na1400.info (it's in the public domain) as basis for future work, along with something like a Perl script to configure it so maps can be easily generated. It already has an #Uninstaller / #x64 support / configurable compression support or makes it easy to add those.

As for the rest of your questions:

Regarding #.ini generation: Sure, this reading data from the TYP file can be supported. It would be useful to support installing existing maps whose distributors haven't bundled the installer.

For the people that do bundle it however I don't see the point in restricting it to the tools you can only find in a standard Windows installation. Bundling will only be done by the map distributors, not the users, and it's not too much to expect (if they're running on Windows) that they install something like Perl to generate their map installer in addition to the pile of custom software they must already have installed if they're able to generate them in the first place.

#Multiple Map files: This isn't supported but definitely I'd like to do it. Installing a single map worked for the map I'm making but it won't work for more complex packages, and I'd like this to be a universal install system.

However hacking this project to perfection to add all of the above & automatic updates and other shiny features (like unicorns) isn't very high on my TODO list. But it's obviously something you care about.

Would you like to become directly involved in the development of this program? We can get you a SVN account and I'll help you in any way I can. --Ævar Arnfjörð Bjarmason 13:55, 23 September 2009 (UTC)

I could help you, but I am pretty much noobish when it gets to programming. I just happen to know quite a lot about the garmin format. So I assume that you are going for NSIS? Currently I distribute my maps (www.openmtbmap.org) with gmaptool generated batch files that I can edit from cmd.exe running a batch file (when I started with the map development, there were tools only available under Windows, and now I fear the work it would make to transform all of my work to bash). I would prefer to distribute maps with an .exe installer, but the batch files serve me quite well. There are only a few things that I am missing:
a) don't execute the batch without admin rights
b) 1. check for existing FID entry
b) 2. if FID matching - then the installer should know whether its an update of maps or whether the FID belongs to a different map.
c) Ask the user with a dropdown menu which of the three .TYP-files I'm distributing with each map shall be used.
d) choose installation directory
This is however not really of high importance to me. If you start on adapting NSIS for Garmin map installs I'm willing to help, or look into NSIS. I don't see the priority to spend a lot of time on this however.--Extremecarver 16:00, 23 September 2009 (UTC)