PDA

View Full Version : Quick Patch not replacing new .EXE



jfaliveno
10-23-2009, 02:27 AM
I have built an installation (20 Mb) that works well. Now we just want to replace the main .EXE as we update it often. I have followed the Quick Patch instructions to the letter and the .EXE is not being updated.
Example:

Installed .EXE version number 8.0.37
New version to replace existing .EXE 8.0.38

I run the Quick patch Update.exe and it looks like it is going through all the steps...no error messages. However, the 8.0.37 file is not replaced with the 8.0.38 file.
the checkbox below says any version will be replaced. What am I missing here?

The 8.0.37 version was installed by using another Quick Patch which upgraded from 8.0.36 to 8.0.37

Very frustrated! thanks in advance.

SherylSikora
10-23-2009, 01:28 PM
Probably the best way to diagnose why a file isn't being overwritten is to generate an MSI install log during the install of the patch. The command to create this would look something like this:
setup.exe /l*v "%TMP%\MyInstall.log"

Then if you look for the name of your file within the log you probably will get an idea of what is going wrong.

jfaliveno
10-23-2009, 01:43 PM
I'm using Quick Patch which by default creates an Update.exe. Does this make a differrence?:confused:

SherylSikora
10-23-2009, 01:49 PM
No. Just replace the "Setup.exe" in my command with "update.exe"

jfaliveno
10-23-2009, 02:06 PM
I placed update.exe in the root c:\. Then clicked, Start/Run and entered
update.exe /l*v "%TMP%\MyInstall.log". Windows said it couldn't find the file. Then I entered c:\update.exe /l*v "%TMP%\MyInstall.log" and the image below shows my result:

SherylSikora
10-23-2009, 02:11 PM
The addition of the logging information should not cause this error unless you do not have permissions to the user temp folder. You can always have the log file written to some folder you are sure you have permissions to. Instead of using %TMP%, use something like "C:\MyInstall.log"

And as a sanity check, if you click on the same update.exe file from this location will it run OK without using the command line?

jfaliveno
10-23-2009, 02:26 PM
Ok. This is the procedure I followed

1. ran Update.exe in the c:\ root. It ran fine which is to say it went thru the motions but didn't copy in the replacement .exe. same problem as before.

2. In Run, typed in c:\update.exe /l*v "c:\MyInstall.log" 1st image below

3. got the results shown in the second image

4. opened a DOS window. typed in c:\update.exe /l*v "c:\MyInstall.log"

5. got results shown in 3rd image

sorry this is turning into a 3 ring circus....

SherylSikora
10-23-2009, 02:50 PM
OK, I initially got the command wrong, as I left out one switch. Try this command:
C:\update.exe /v"/l*v c:\MyInstall.log"

jfaliveno
10-23-2009, 03:48 PM
a quote in the middle of a command line switch?:confused:

Anyway, I ran it and I got an error like all the others. I tried to upload an image but your server must be busy.

SherylSikora
10-23-2009, 03:57 PM
Well, I have one last suggestion to get an install log created then. It requires altering the Registry so please be careful and undertake this task at your own risk:

Create the following key on your machine:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
"Logging"="voicewarmupx"

Then run the update.exe as you normally would. This will create a .log file in your user temp folder with a random name such as MSI99542.LOG (of course yours will be different).

Remember to remove this key once you are done testing because this key causes EVERY MSI install run on your machine to generate an install log.

jfaliveno
10-25-2009, 12:01 PM
OK. I have made the registry entry and when I run the quick patch, there is no .log file in my Temp folder. There are several XML files which I cannot read.

To help me reason this out I need the answer to one question.

If I have version 8.0.034 of my .EXE file already installed and I create a quick patch of another version... say 8.0.038, can I expect quick patch to override the .exe replacing it with the new one?

It seems that if I make a FULL install (20 meg) of Version 8.0.036 and then create a quick patch of 8.0.037, the Update will work. But then if I create another quick patch using the 8.0.036 FULL install (20 meg) as the previous msi but this time using the new 8.0.038 .exe as the file to replace with, the patch fails. It goes through the motions and doesn't create an error but the overwrite doesn't take place. The event viewer seems to be indicating that the install went correctly but it looks like it sees the 8.0.038 update as if it were the 8.0.037 one.

QUESTION

Can I make quick patches that will install a newly updated .EXE over the old one regardless of the version number of the old .EXE?? Am I expecting too much of the quick patch feature?

SherylSikora
10-27-2009, 12:14 PM
What is the sequence that you are installing the setups? Are you first installing Version 8.0.036 and then installing Version 8.0.037 on top of that and then installing Version 8.0.038 on top of that? Or are you installing Version 8.0.036 and then installing Version 8.0.038 on top of that?

For example, you install:
8.0.036 + 8.0.037 + 8.0.038
or
8.0.036 + 8.0.038

If you are running the first sequence of installs you need to be sure that you created the second quickpatch project correctly. You must specify that you are targeting a previous quickpatch project also. You can see all of your target versions in the History tab of the General Information view.
The second sequence I would think would work as you are expecting.