Hello,

I would like to share following with you:

When a user drags an advertised shortcut from an advertised application to it's desktop, is it normal behaviour of the shortcut that it cannot be used anymore when the application is being updated ? We have to use ADS to deploy applications and advertise them to users. When the updated application is assigned tot the same GPO, the shortcut in START|All Programs triggers the upgrade. However the dragged advertised shortcut to the desktop doesn't. Due to company policies we are not allowed to put shortcuts on the desktop at insalltime.
When we update a package, the shortcut which is dragged by the user to it's desktop, eighter starts the old application without updating or runs into an error when the applications is already updated by clicking the shortcut in START|All Programs

1. Is this normal MSI behaviour?
2. Is there a way to update the desktopshortcut ?

Regards,

D.
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
Yep, been here before. At several companies that I've worked in at the past, they have encouraged users NOT to create additional shortcuts on their desktops. There is even a group policy to deny saving shortcuts to your desktop area.

I would also like to hear from anyone who has come up with a proper solution. [8|]
Answered 04/11/2006 by: brenthunter2005
Fifth Degree Brown Belt

Please log in to comment
0
I had the idea to run a CA when the application is advertised.
It works when I use MSIEXEC /JU PACKAGE.MSI, but doesn't when I advertise by policy.
I'm figuring out what the differences are, but haven't a clue yet.

I currently have a CA in the 'Advertised Installation'- Installationmode (Wise) just before InstallFinalize.
It should display a MsgBox. I also tried a filecopy. That didn't work eighter.

Is this a dead-end or is it worth to investigate furthure ?

Regards,

D.
Answered 04/18/2006 by: dwight66
Senior Yellow Belt

Please log in to comment
0
Place the custom action in the InstallExecuteSequence table, rather than the AdvertExecute.

Also, if you are going to place a custom action within the actual MSI script (ie: between InstallInit and InstallFinalize) you will need to make it a defferred custom action too.
Answered 04/18/2006 by: brenthunter2005
Fifth Degree Brown Belt

Please log in to comment
0
I had the idea to run a CA when the application is advertised.
It works when I use MSIEXEC /JU PACKAGE.MSI, but doesn't when I advertise by policy.
I'm figuring out what the differences are, but haven't a clue yet.

What exactly would you like this CA to do?
When you run msiexec /ju, you advertise on a per-user level, do you do that when you advertise from the policy?

I currently have a CA in the 'Advertised Installation'- Installationmode (Wise) just before InstallFinalize.
It should display a MsgBox. I also tried a filecopy. That didn't work eighter.

A CA in the "Advertised Installation" will only run when you advertise the application. When the user runs the shortcut it is actually the "Normal Installation" (InstallExecuteSequence) that will be run.
Since an advertised shortcut isn't a file, but a descriptor, I don't think it is possible to just copy it (if it was, users should be able to drag-and-drop it from the start menu).

Also, if you are going to place a custom action within the actual MSI script (ie: between InstallInit and InstallFinalize) you will need to make it a defferred custom action too.
Well, that depends on what the custom action should do. dwight66 says that "It should display a MsgBox.", and if that is all, then it shouldn't be a deferred CA, but an Immediate CA.
Answered 04/18/2006 by: sikkert
Orange Senior Belt

Please log in to comment
0
The idea is to trigger a CA at the moment the shortcut is being advertised.
The CA should remove desktop- and quicklauch shortcuts. The messagebox is just to show me if the CA runs.
So, the CA must being finished when the user comes in to control.
It's a little bit hard to Encourage 8000 users not to drag a shortcut on their desktop. :-(

The most nicest way is that Windows Installer keeps track of this kind of issues, but unfortunatly it doesn't.

What I'm looking for is the right place in the MSI to execute the custom action at Advertise time.
The Immediate CA will be executed when I'm adding the MSI to the policy. Not when the user gets it advertised.

By the way sikkert, users are able to drag those shortcuts to the desktop. It creates a kind of binary LNK file.

Regards,
D.
Answered 04/18/2006 by: dwight66
Senior Yellow Belt

Please log in to comment
0
And this is the issue as you can not have any custom actions in the AdvtExecuteSequence table.
Answered 04/18/2006 by: brenthunter2005
Fifth Degree Brown Belt

Please log in to comment
0
How do you performe the upgrade? Is it a major upgrade, complete uninstall/reinstall or a patch?
I think it would be easier here to make sure that the program cleans up when it is removed, i.e. removes any shortcust on the desktop/quicklaunch. Thus, the new installation don't have to clean up after the old one.
As for removing the existing shortcuts, you could perhaps create a cleanup-package, that just looks for the shortcuts and remove them.

By the way sikkert, users are able to drag those shortcuts to the desktop. It creates a kind of binary LNK file.
Yeah, you're right[:)] Haven't testet that in a long time, so I remembered wrong.
Answered 04/18/2006 by: sikkert
Orange Senior Belt

Please log in to comment
0
Sikkert,

I Create a new package witch is able to upgrade the previous one.
It is a major update and wil be distributed by a policy in Active Directory (as an upgrade).
Keep in mind that not the package puts a shortcut on the desktop. It's the user who drags it from the startmenu to the desktop. These 'dragged' shortcuts to desktops, quicklaunches and other locations are falling out of the mannaged scope of the distributed packages.
It seems that 'managing' dragged shortcuts is near impossible to do. That's also a conclusion. Not the one I'd like, but keeps me from searching to work-arounds.

As mentioned by brenthunter2005 it is not possible to have any CA in the AdvtExecuteSequence table. When this is really true, then I consider to drop a mail at Microsoft and ask them if it's possible to deal with this issue in a next release of Windows Installer. (If you don't ask, they will never know...)
However I managed to create a CA in the AdvtExecuteSequence table. When I advertise this package manualy (/JU) then the MsgBox does pop-up (CA runs). When a policy has to advertise the same package, the MsgBox doesn't pop-up. I use the MsgBox (Embedded VBScript) just to see if the CA runs. The MsgBox statement can easily being replaced with another VBScript that takes care of deleting or replacing files. (Shortcuts)
If there is a totaly other mechanism, used by policies, then I can drop the whole idea in the trashcan and ask MS to deal with this.

Sikkert and brenthunter2005, thanks for your time trying to deal with this problem. I really appreciate it.

regards,
D.
Answered 04/18/2006 by: dwight66
Senior Yellow Belt

Please log in to comment
Answer this question or Comment on this question for clarity