Hi all,

There is an issue with ActiveSync 4.5. If I install the vendor MSI, without any modifications, with an admin account, when a domain user start the application for the first time, ActiveSync is healing for HKCU keys and I receive a fatal error named Problem with Shortcut. The app is working well even with the error message but still bad to send to the community that way.

This issue seems to be known, being reported on the web but no known solution to this. I am trying to fix it for some time and apart from giving access to the users on folders like windows/drivers, i am trying to prevent the custom action from running when users launches the app.

For testing purposes, I enabled MSI logging and I found out that there is a Custom Action named: CA_NT5_PrimeInf that is causing the problem. probably trying to install the USB drivers, but this CA does not need to run for users in my opinion.

I Modified the condition from if (VersionNT >=500) to (VersionNT >=500) AND (NOT INSTALLED) and the CA still runs when a user launches the app for the first time. Is there a specific condition to add to prevent a CA to run when a user launches the app the fist time?

I am surprised this was not documented yet on the board as it is doing this with the fresh MSI from the Microsoft website.

Any helps will be appreciated.
Thks
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
Well, it *would* launch because it's still not fully installed, thus meeting your condition of 'NOT Installed', even if you HAD used the correct case (i.e. 'Installed', but not 'INSTALLED').

Typically, to condition-out stuff, I use a condition which is impossible to meet, normally '0=1'. That way, you know it's NEVER going to execute.
Answered 05/26/2009 by: VBScab
Red Belt

Please log in to comment
0
Typically, to condition-out stuff, I use a condition which is impossible to meet, normally '0=1'. That way, you know it's NEVER going to execute.

Hi and thanks for replying.

With such condition, it will never install even when the admin install it. I need the CA to run on initial install but not for users on 1st launch. So i need to create a condition that will let an admin installs it but not a user? There is no condition in Wise that prevents the CA from running when a user launches the app?

Thanks for helping.
Answered 05/26/2009 by: unreal2me
Orange Senior Belt

Please log in to comment
0
Hang on...I managed to track down a copy of the MSI on one of my client's staging servers and the MSI already contains a check for AdminUser in 'LaunchCondition' table. Presumably you moved that or conditioned it out? If so, you'll have to move the 11 CAs which are sequenced after 'InstallFinalize' in 'ExecuteImmediate' to 'ExecuteDeferred', since everything in that sequence after InstallFinalize runs in User context.
Answered 05/26/2009 by: VBScab
Red Belt

Please log in to comment
0
Thanks for your help VBS.

I did not change anything. I downloaded the MSI from Microsoft website again yesterday.

I can't check this one at this time, working on something urgent but I am not familiar with Execute deferred section, not understanding it perfectly. So I should modify the original and transfer the CA to this section only and it should fix my problem?

I will try it as soon as possible and update here.

Thks,
Answered 05/26/2009 by: unreal2me
Orange Senior Belt

Please log in to comment
0
Whenever making changes to vendor-supplied MSIs, you should ALWAYS use a transform. So, create a transform in which the CAs are moved.

Having said that, if you don't understand what the difference between Immediate and Deferred sequences, you have a very steep learning curve to climb, I'm afraid. And to head off your next question, no, I don't have time to conduct that training.
Answered 05/26/2009 by: VBScab
Red Belt

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