Patching Recommended Practice

Got a problem you cannot solve? Try here.
wirecad
Posts: 21
Joined: Wed Nov 23, 2005 3:42 pm

Patching Recommended Practice

Postby wirecad » Tue Dec 06, 2005 12:15 am

I am haing trouble understanding the finer points of patching with IA Express and Web Media builds.

Here is my situation:
1. I build the web media build and call it webbase1.exe and deploy it.

2. I change the underlying program and want issue a patch so I create a patch against webbase1.exe and deploy it.

so far so good. Here is where I get stupid.

3. I make further changes to the program and want to create a patch, so I patch against webbbase1.exe, and the install fails saying that the .msp has been modified by another process(patch1).

To my point. What is the recommended procedure for the type of situation?

Thanks,
:D

sinan
Site Admin
Posts: 1028
Joined: Sat Nov 13, 2004 8:12 am
Contact:

Postby sinan » Tue Dec 06, 2005 7:46 am

Basically...for each version of the product that has been deployed on the field, you want to maintain old, unpatched builds. And when building patches, you want to add them each as a patch reference, so the patch system can scan each different version of the files, and then make its single patch which updates them all. This is really the best way to make it work, because patches are incremental (they contain only the data that has changed between the last scanned setup and the newest setup, so you want to add in all the "last setups" in there).

You may be able to work around this limitation by building whole file patches only, but that would defeat the purpose of using patches in the first place.

wirecad
Posts: 21
Joined: Wed Nov 23, 2005 3:42 pm

Postby wirecad » Tue Dec 06, 2005 9:35 am

Thanks, this approach raises a series of questions. Thanks in advance for your patience and advice.

1. Is there any way to for me to provide a patch in my current situation?

2. What must one do to maintain an old unpatched build and use that as a reference for multiple patch builds?

3. When you say "all the last setups" to be included as patch references, does that include patch builds?

4. How does one patch a patched install?

Thanks again, :D

sinan
Site Admin
Posts: 1028
Joined: Sat Nov 13, 2004 8:12 am
Contact:

Postby sinan » Tue Dec 06, 2005 12:40 pm

1) What exactly do you mean by your situation?
2) Just copy the built files somewhere and keep them there :)
3) No, just the setups.
4) Same way as patching an unpatched install.

wirecad
Posts: 21
Joined: Wed Nov 23, 2005 3:42 pm

Postby wirecad » Tue Dec 06, 2005 1:20 pm

I will try and clarify. This is a process that I do not yet understand the nuances of.

I build a web package for deployment and save a copy of the exe somewhere. Next I patch against that exe and distribute the patch.

Now I have in the field a patched installation and need to distribute further patches.

The only base installation that I have is the intitial exe mentioned above. How do I create and distribute a patch that will work on my patched installation in the field(creating a patch against the exe and then applying it returns an error the the msp file has already been modified and a new patch cannot be applied).

Should I create a full web build for every patch I make and then patch against the multiple builds? If yes, I have not done so and hope I have not shot myself in the foot.


I know that this may be repeating myself, but I am not understanding your replies, so I am hoping that reiteration will help clarify my situation.

Thanks,
:D

sinan
Site Admin
Posts: 1028
Joined: Sat Nov 13, 2004 8:12 am
Contact:

Postby sinan » Tue Dec 06, 2005 3:19 pm

Oh, yes. Sorry for the confusion. The assumption is that you indeed make full builds for your products, alongside the patches, with each minor update. So and then, you save all those full builds somewhere...and add them as patch references.

wirecad
Posts: 21
Joined: Wed Nov 23, 2005 3:42 pm

Postby wirecad » Tue Dec 06, 2005 5:17 pm

I think I know the answer to this next question, but I'll ask it in hopes that I am wrong.

Is there anyway to recover and build from the patch and the build and build the web build that I failed to build so I can patch the field installation?

Thanks,

sinan
Site Admin
Posts: 1028
Joined: Sat Nov 13, 2004 8:12 am
Contact:

Postby sinan » Tue Dec 06, 2005 9:45 pm

I think you could install the base product, and then the patch on a system; then obtain the old patched files and rebuild a new fresh setup with them that represents the now old version, and add that as a patch reference?

wirecad
Posts: 21
Joined: Wed Nov 23, 2005 3:42 pm

Postby wirecad » Wed Dec 07, 2005 12:39 am

Thanks for your help. I will try it.

One more quick question. I have been playing with a test project and am starting to get the zen of this. I found that I can do as you mentioned and create incremental individual patches from build to build. Is there any way to create a cumulative patch that contains all of the data from the base package build through the N package build that could be applied to any build to patch up to the current version?

Thanks again. :D

sinan
Site Admin
Posts: 1028
Joined: Sat Nov 13, 2004 8:12 am
Contact:

Postby sinan » Wed Dec 07, 2005 6:43 am

Zen :)

Yes, you can do that as long as you add all the former - full built versions - as patch references, and build a patch against all former full builds that you will be patching against (even if those full builds will never be out on the field, and they actually represent patched "steps" of your product).

wirecad
Posts: 21
Joined: Wed Nov 23, 2005 3:42 pm

Postby wirecad » Wed Dec 07, 2005 9:36 am

I must be doing something wrong. My last patch(created with patch references from all prior builds) only makes the changes between the prior build and itself.

ex. build1 add file 1
build 2 add file 2 build and patch against build1. Works fine. applying the patch adds file2 to the system.
build 3 add file 3 and change file 1. Build and patch against build1 and build2. In my mind, this should be a cumulative patch and, if applied to build 1, add file2 as well as file3 and the change to file1. In practice though, when applied to build1 it only adds file 3 and changes file1.

This is pointing to a sequencial patch as apposed to cumulative. Is there a setting that I am missing?

Thanks again for your help. :D

sinan
Site Admin
Posts: 1028
Joined: Sat Nov 13, 2004 8:12 am
Contact:

Postby sinan » Wed Dec 07, 2005 11:14 am

I believe MSI had a limitation which might be causing this.

Install the MSI 3.0 runtime on the target system before applying the patch. That should help because MSI 3.x and later are supposed to sidestep the sequential patch application problem.

In the application runtimes view just uncheck MSI 2.0 and add MSI 3.0 instead...

wirecad
Posts: 21
Joined: Wed Nov 23, 2005 3:42 pm

Postby wirecad » Wed Dec 07, 2005 4:05 pm

Is that function available in the Express version, and if not, will it be in the new version, and when?

Thanks :D

sinan
Site Admin
Posts: 1028
Joined: Sat Nov 13, 2004 8:12 am
Contact:

Postby sinan » Wed Dec 07, 2005 5:33 pm

Um...yes, coming VERY soon!!! As soon as v5 RTMs we'll have it in Express - just hang on :D


Return to “Technical Support”

Who is online

Users browsing this forum: Google [Bot] and 172 guests