Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Maintainence Form and Patch form problems


6 replies to this topic

lizii

lizii
  • Full Members
  • 13 posts

Posted 19 January 2007 - 16:30

I am trying to make my MSI appear "pretty" when a user uses a Patching (MSP) file.

When they double click - i want my own patching dialog to appear - they click update and it patches the application.


So i created my own Dialog - added in the workings behind it. And in the InstallUISequence added to InstallForm, ResumeForm and Maintainence form the command "AND NOT PATCH"

then added in my patching dialog and made it the condition "PATCH".


I then tested it out by creating an MSP File. However when i double click the MSP - it comes up with the Maintainence form - with repair/remove. Then when you click repair and "Finish" - it then shows my Patching Dialog.


At the moment i am just tyring to work out why it is showing both - when they have conditions which should mutally exclude them?


Any pointers or clues would be great!


Thanks!

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 20 January 2007 - 19:30

A log file should tell you more about how the conditions actually evaluate. Also double check your dialog sequencing, NewDialog events etc.

lizii

lizii
  • Full Members
  • 13 posts

Posted 22 January 2007 - 09:07

Well i have looked through the Log - and some lines which stand out are:


MSI © (F0:D8) [16:08:33:859]: PROPERTY CHANGE: Adding PATCH property. Its value is 'C:\Documents and Settings\estyles\Desktop\navfinal\Patch.msp'.

then later on:

MSI © (F0:D8) [16:08:34:249]: Skipping action: WelcomeForm (condition is false)
MSI © (F0:D8) [16:08:34:249]: Doing action: MaintenanceForm
Action start 16:08:34: MaintenanceForm.


which kind of seem strange...considering in the InstallUISequence i have these two lines:

MaintenanceForm| Installed<>"" AND NOT PATCH |1205
PatchWelcome | PATCH | 999


You see there is no reason why a) the maintenance form is going before PatchWelcome - and cool.gif why one is set to "PATCH" and another set to "NOT PATCH" and why are both running.


Very confused...It could not be because its ignoring PATCH - since PatchWelcome is running...yet if its not ignoring PATCH why is MaintenanceForm running since it is "NOT PATCH"

Just seems strange...



Edit: on further investigation - just made a basic project and used the instructions i had for creating a patch dialog - doesn't even show up!


There must be something basic i am not understanding...so does anyone know a good book or website for trying to create a new dialog - even better if its for creating a patch dialog!

Although the MSDN does show you how to create a patch (that much i can do!) it does not seem to show new dialogs...unless i am mistaken?


Thanks again for bothering you all with what i thought was a complex problem - just seems to be a lack of knowledge on my part.

Edited by lizii, 22 January 2007 - 15:22.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 22 January 2007 - 21:44

Maybe you are not testing the same .msi file you are looking at? This could happen if you didn't change the PackageCode (in this case Windows Instalelr may be using a cached copy of the .msi file).
If this is not the case, could you zip your .msi file (just that, no setup.exe, CABs etc.) and send it to me by e-mail to skrueger <at> installsite <dot> org and I'll have a look at it.

lizii

lizii
  • Full Members
  • 13 posts

Posted 23 January 2007 - 08:41

Well i must admit i did not change the package code - however i did get it working and my investigations were this.


I made a simple project - and made two different versions.

I first tried (to make sure i knew the exact results) them with no modifications to either - and i got as expected (repair screen).

Then i tried only modifying the "old" msi - reinstalled the old msi and recreated the patch and running it - again i got the repair/remove screen.

Then i only modified the "new" msi - after recreating an old one (so old one unmodified, new one modified) and got it working no hassle - my screen appeared as expected.

Now this behaviour makes a little more sense - since maybe someone half way through a project is implementing a patch - therefore you do not want it to depend on the "old" msi since it may not be modified.

To double make sure it was working - i "hid" the new msi to make sure it was not just using that (finding sources etc) - still my screen appeared.

My question now is - is that expected behaviour?


I will go back and try again and change the package codes between them and see what behaviour it produces then - very much trial and error!


Thanks for your help so far - its quite interesting to see whats going on underneath the hood smile.gif

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 23 January 2007 - 15:32

QUOTE
My question now is - is that expected behaviour?
Using identical PackageCodes for non-identical .msi files would be a bug in your setup. Any mis-behaviour can be expected in this case.

lizii

lizii
  • Full Members
  • 13 posts

Posted 23 January 2007 - 16:04

Hrm...well I will send you a Copy of the MSI i have modified recently.


Hopefull you can spot what i did wrong!



edit: on a further note - i changed the packageCode on the new MSi - built the MSP Again and seemed to work fine - i think what i really need to do is start again with this as my template and see where i go from there.


Slowly learning it seems - lets hope i manage it sometime this year.



Edited by lizii, 23 January 2007 - 16:08.