cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Adrien
Level 4

Localized shortcuts update

Hi all !

I have an issue when updating the display name of localized shortcuts...

As an example:

  • In a basic MSI project, I make an application in version 1.1.1 with 2 languages (in my case: 1033 and 1036... sorry for my poor english !). Default language is english (1033).
  • I build 2 shortcuts: Shortcut A and Shortcut B. Shortcut A has the same name in english and french installation. Shortcut B is localized. So I have: "Shortcut A 1.1.1"/"Shortcut A 1.1.1", "Shortcut B GB 1.1.1"/"Shortcut B FR 1.1.1" (respectively in 1033/1036 languages).
  • In version 1.1.2 of this application, I rename the 2 shortcuts in "Shortcut A 1.1.2"/"Shortcut A 1.1.2" and "Shortcut B GB 1.1.2"/'Shortcut B FR 1.1.2". I complete RemoveFile table to clear the "xxx 1.1.1" shortcuts.


When I install the application 1.1.1 on a computer, shortcuts "xxx 1.1.1" are created (ok).

Next, I update the application to 1.1.2. According to the log, shorcuts "xxx 1.1.1" are correctly deleted:

RemoveFiles: File: Shortcut B FR 1.1.1.lnk, Directory: C:\Users\Public\Desktop\
RemoveFiles: File: Shortcut A 1.1.1.lnk, Directory: C:\Users\Public\Desktop\


But the new shortcuts are:

CreateShortcuts: Raccourci : SHORTC~1.2|Shortcut A 1.1.2
CreateShortcuts: Raccourci : SHORTC~1.1|Shortcut B FR 1.1.1


There is absolutly no "Shortcut B FR 1.1.1" in the 1036.mst file of the 1.1.2 application, only "Shortcut B FR 1.1.2".

So, where is the problem ? Is there a solution ?

Thanks, and have a good day 🙂

edit: I have no problems with english installation. "Shortcut B GB 1.1.1" is correctly renamed to "Shortcut B GB 1.1.2".
Labels (1)
0 Kudos
(2) Replies
TsungH
Level 12

I suppose this is a Minor Upgrade from 1.1.1 to 1.1.2 with 1036.mst applied. It seems like it might be using cached 1036.mst. If it is the case, you can try setting REINSTALLMODE property when running Minor Upgrade and see if it helps.
0 Kudos
Adrien
Level 4

Hi, and thanks for answer !

Indeed, it's a minor upgrade.

And you were right, I can see a cached 1036.mst in C:\Windows\Installer\{my product code}. If I delete it before update, new shortcuts use the good updating strings. However, I haven't found any solution by playing with REINSTALLMODE property to solve my problem... Unless remove the cached mst, localized shortcuts aren't updated.

The only solution I found is to use display resources for my shortcuts. Thereby, when resource dll is updated, shortcuts are correctly updated too.

The downside to this is that, according to Installshield help, display resources are not supported by Windows XP and earlier :

Windows Vista and later and Windows Server 2008 and later include support for the display resource. Earlier systems ignore it.


But it clearly seems to be the cleanest solution for me (no longer need to manually delete old shortcuts). For Windows XP users, I will use display names without version number for my shortcuts...

Thanks for help !

(I stay interested in any alternative, of course)
0 Kudos