jfaiga
Posts: 25
Joined: Wed Sep 13, 2006 8:21 am

Patches to replace

Is the "Patches to replace" functionality working?

I did the equivalent of the following:
*created an msi (5.5.5.0)
>Installed the msi on a target machine

*added "file1.txt" (on build server)
*created msi (5.5.5.1)
*create a patch (from 5.5.5.0 to 5.5.5.1)
>Installed the patch 5.5.5.1 on a target machine
>"file1.txt" existed correctly


*deleted the "file1.txt" (on build server)
*added "file2.txt"
*created msi (5.5.5.2)
*created a patch (from 5.5.5.0 to 5.5.5.2), with "Patches to replace" referring to 5.5.0.1 (which it correctly determined the correct Guid).
>Installed the patch 5.5.5.2 on a target machine
>"file2.txt" existed correctly, however "file1.txt" was not deleted (incorrectly)
>Uninstalled the application, and all was deleted except "file1.txt" (incorrectly)


Therefore the previous patch was not uninstalled when it should have been. Is the "Patches to replace" functionality tested and supposed to be working? Or is it a mistake on my side?
jfaiga
Posts: 25
Joined: Wed Sep 13, 2006 8:21 am

I meant

*created a patch (from 5.5.5.0 to 5.5.5.2), with "Patches to replace" referring to 5.5.5.1 (which it correctly determined the correct Guid).
gigi
Posts: 2103
Joined: Tue Apr 11, 2006 9:55 am
Contact: Website

Hi,

"Patches To Replace" only unregister the informations registered when the patch is applied and does not affect in any way the files structure.

When you delete the "file1.txt" the associated component is automatically deleted and this cause to brake on rule of patch creation. This require to change the ProductCode and create major patches witch are not recommended. You can create normal upgrade instead.

Please see this for more details about patch creation rules:
http://msdn.microsoft.com/library/defau ... t_code.asp

Also note that if you want to create a patch that can be applied on multiple version of your package then add both 5.5.5.0 and 5.5.5.1 as "Target Images" for the 5.5.5.2 "Upgraded Image".

Hope this helps.

Regards,
Gigi
______________
Gheorghe Rada
Advanced Installer Team
http://www.advancedinstaller.com
jfaiga
Posts: 25
Joined: Wed Sep 13, 2006 8:21 am

Thanks for this informative reply.

Once this process is completed, I have three msi's (5.5.5.0, 5.5.5.1, 5.5.5.2), and two msp's (5.5.5.1, 5.5.5.2).

What do you recommend that I put on the auto update website?

I am currently putting the msi for 5.5.5.0, and the msp for 5.5.5.2 with a dependancy on the 5.5.5.0 msi.

Is there a way that I can put the msi 5.5.5.2 with the msp for 5.5.5.2 on the website?


Thanks

ps. To me, only the latest files should be available on the website (I dont understand why there are many version available at: http://www.advancedinstaller.com/downloads/updates.ini)
gigi
Posts: 2103
Joined: Tue Apr 11, 2006 9:55 am
Contact: Website

Hi,

If you make small changes in your application (bug fixes, etc) then my recommendation is to create a path and put it as update on the website with the target msi as dependency (the dependency also must be in the updates list).

If you add a new functionally to your application that implies major changes (remove a component, change the feature tree structure, etc) in your package then create a msi (put it as update with not dependency).

For example you can put as updates on the website the msi 5.5.5.0 and the msp's (5.5.5.1 with 5.5.5.0 as dependency, 5.5.5.2 with 5.5.5.1 msp as dependency).

If the latest added update cover the functionally of one or more older updates then you can remove the older updates from the updates list. If you add a patch and this patch needs an older update as dependency do not remove this older update from the list.

Hope this helps.

Best Regards,
Gigi
______________
Gheorghe Rada
Advanced Installer Team
http://www.advancedinstaller.com

Return to “Feature Requests”