PDA

View Full Version : ActiveSync Add/Remove programs



email2venki
01-06-2006, 03:24 AM
Hi,

In InstallScript MSI project, I have added a mobile device component for Pocket PC. During the first installation everything is fine.

When I rebuild the Installation and launch the installer. First the Add/Remove programs of ActiveSync appears, then only the installation continues.

I suspect that existing application is removed then only new installation is launched.

The behaviour I want is that the existing application should remain as it is and the new Installation must reinstall the previous one. And Add/Remove programs of ActiveSync must not appear in the beginning.

Can any one suggest a solution for this.

Thanks & Regards,
Venki

davidh
01-06-2006, 12:15 PM
The InstallCEApps custom action will always launch ActiveSync because there is no condition on InstallCEApps action. Perhaps you want to consider adding a condition to it. However, I'm not sure if you need to be concerned with this because the scenario of having a rebuilt install running on the computer would probably not happen with end users, correct? Maybe I am misunderstanding you.

email2venki
01-09-2006, 07:38 AM
Hi davidh,

Thanks for the reply.

Yeah u r correct. I was mistaken. The problem was I was running the application using the icon !, which removes the application from the PC, then makes a fresh installation. Whereas if we click the setup.exe directly then we get an upgrade option. I hope that problem is solved now.

Now the next one is, when in upgrade mode the setup doesn't seem to download the cabinet file to the device for reinstallation or upgrade. Only the Add/Remove programs is poped. If we press OK or Cancel the installation continues. Upgrade mode is complete without updating on the device.

Is there a way to do this through conditions ??

Thanks for the help given.

Thanks & Regards,
Venki

email2venki
01-12-2006, 05:20 AM
Hi guys,

I was able to find a solution for this problem. But the solution is a complicated one.


Problem:
CEAppMgr application expects an ini file as command line argument, this ini
file contains the details of Install CAB file which is also located in the same
directory. During installation, InstallShield launches CEAppMgr with this
correct ini file.

Now, during upgrade the InstallShield should launch CEAppMgr with the
updated ini file (and updated CAB). But it launches CEAppMgr without the ini
file command line argument. That is InstallShield treats update as
uninstallation.

This is a bug with InstallShield and I think this problem must be fixed.

Complicated Solution:

What I did is that, I start a thread which monitors the CEAppMgr window.
This thread is started during upgrade only(OnResumeUIBefore) and Whenever
Add/Remove window of CEAppMgr appears the thread sends close message to this window and there by to close the CEAppMgr application, This CEAppMgr application which was launched by InstallShield without ini file argument.

Next step is to lauch CEAppMgr programatically. This time we can give the
correct ini file argument, asking the CEAppMgr to perform an upgrade. This process can be done at OnInstallFilesActionAfter.

But there is one problem, where can we get the updated ini and cab file.
Is there a way to locate these files from the Setup exe? If any body knows
solution to this problem, please let me know.

To solve this problem, I used Support Files/Billboards option of InstallShield. I copied following file to the billboards
- latest cab
- ini(created manually or taken from previous setup)
- icon file
- inf file(I don't know why I am copying this)

During Installation, all these files will be downloaded to SUPPORTDIR of InstallShield.

Atlast, now during setup we have access to all the files needed to launch CEAppMgr programmatically.

Note: To get latest cab files, We have to build setup twice.
To get latest cab file,
- Update all related mobile device files
- Build the setup from InstallShield
- Locate the currently built CAB and other files
- Copy it to directory refered by the billboard
- Now build the setup again.

I hope this takes a lot of time to understand. But that's way it is. If InstallShield solves this problem, then life is going to be must simpler.

Regards,
Venki

davidh
01-12-2006, 12:48 PM
I apologize, but at this time I do not have time to manually verify the behavior you are seeing. However, it is a great idea that we should launch the latests cab file during an upgrade scenario. Therefore, I created issue# IOC-000045142 to be considered for a future release. In the meantime, your workaround sounds great.

email2venki
02-07-2006, 10:31 AM
Hi Davidh,

When can I expect this upgrade option to be integrated with InstallShield. When that version is ready can you please let me know.
My email id is venkatesan@slingmedia.com.

Thanks & Regards,
Venki

davidh
02-07-2006, 03:11 PM
The most that I can tell you at this point is that it is approved for a future version of InstallShield. I also modified the work order so that we should include the code change in our release notes. So, the change will show up in the release notes of future versions if it is implemented so you will not have to manually verify the change.