Patching from a separate project

Got a problem you cannot solve? Try here.
MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Post by MichaelNesmith »

You should configure the INI to run the patch non silently...and see what happens. You should also test to run the patch silently and see what happens, outside of the update mechanism. This way you can trace the real cause of the problem.

Dialog fields will be empty (or contain default values that variables are pre-initialized to) when running silently - naturally :lol:
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
nic2006
Posts: 19
Joined: Mon Nov 20, 2006 7:59 am

Post by nic2006 »

ok so i configured the patch to run non silently, and then it asks for the location of the previous installer and then it works.

Question: How does the installer know (when running silently) where the location of the previous installation is?
Isn't that the reason why when running silently the installer does nothing, because you have not specified where the previous installer has been extracted to. BUT how do you specify this, cause that means that you have to run the previous installer aswell, locate the folder in the user temp directory (which is dynamic), and then somehow pass that to the patch, while the patch is running silently ?????

Need to sort this out urgently, RSVP...
MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Post by MichaelNesmith »

Isn't that the reason why when running silently the installer does nothing, because you have not specified where the previous installer has been extracted to.
Depends on your build type. If you are targeting the web build type with your patches, patch source resolution will be automatic.

Please read the help topic titled Patching, subtopic Patch Source Resolution for full detailed answers for your questions.
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
nic2006
Posts: 19
Joined: Mon Nov 20, 2006 7:59 am

Post by nic2006 »

i have read the patching resolution before, but how can one specify the path if it is dynamic????

The path to the original setup file in temp folder is only created when the original setup is run.

I noticed that you keep on saying that the help topics are FULLY DETAILED, if they were then i would not be asking these questions.
The issue is that i am targeting a compressed build type, are you therefore telling me that i cannot do a SILENT patch update because the path to the original setup cannot be specified before-hand?

If it makes it easier, the setup that i have currently running is a central DC connecting several other machines on a WAN. There is no internet access. The DC has IIS installed, i put the patch updates on the DC, then the other machines must get the patch silently and update. Can a WEB BUILD TYPE be used in this scenario; if it can HOW will it work (HOW does the web build automatically locate the source media) or what build type would one use for this scenario?

I appreciate your assistance but i have made no progress since two weeks ago...
MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Post by MichaelNesmith »

The issue is that i am targeting a compressed build type, are you therefore telling me that i cannot do a SILENT patch update because the path to the original setup cannot be specified before-hand?
The help files which you complain about specifically state the command line parameter to pass to a patch setup for indicating the location of setup sources. This information is available in the exact topic I directed you to. What was unclear about this?
Source Resolution from the Command Line

To prevent the original source media browser window from being shown, if a particular folder contains the source files of the original setup, you may use command line parameters to point the setup program to that particular folder so as to automate the source resolution process for patching.

<setup> /p=<path>\\data

You may specify any accessible folder, including a network location. This especially makes locating sources for patches on corporate networks very convenient. Please remember to specify the data subfolder inside the original setup source folder. This subfolder exists as part of all InstallAware uncompressed builds.
About the web builds - the same help topic describes that web builds will work seamlessly for you in this scenario. If you are wondering how to make an initial web build that will work without requiring an Internet connection, all you need to do is create a single offline web media block that encompasses your entire setup. You can read the help topic for the Web Media Block command for more details on this item too.
If you specify an empty string in the Web Media Block Name field, an OFFLINE CONTENT block will be defined instead. This block will not be converted into a downloadable web media block, but instead packaged with the main setup executable itself. Use this option to include files which you will always install in your main setup program.
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
nic2006
Posts: 19
Joined: Mon Nov 20, 2006 7:59 am

Post by nic2006 »

Ok, fair enough i reread the documentation and reattempted the installer.

Hopefully this is my last set of problems (project is a WEB BUILD TYPE):
1. My test installer works fine when i run the setup with the command line parameter /updatesetup to setup the schedule, BUT with my actual installer it doesnt work and it brings up the uninstall screen instead, why?

2. I have a service that is running, when a patch comes in it should stop the service, at what stage in the code must i stop and restart the service. The files get copied when APPLY PATCH is run, right, so i assume i must stop before this (maybe with a run program command) and then restart after it...

thanks again for your assistance
MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Post by MichaelNesmith »

1. What do you mean by the test installer and the actual installer?
2. Yes, use Run Program before Apply Patch to stop, and after Apply Patch to start.
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
nic2006
Posts: 19
Joined: Mon Nov 20, 2006 7:59 am

Post by nic2006 »

ok sorry let me clarify that.

I have two installers (not related in any way), one that just copies a text document and the other one is the production installer (installs a service, copies database etc.)
They are both web build types, but when i run /updatesetup on the production installer it doesnt bring a icon in the taskbar to configure the schedule update like it does for the test installer.

What i want to know is if there is a setting or code that specifically makes the installer configure the scheduler for updates or what is the reason it doesnt work for the one but does for the other?
MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Post by MichaelNesmith »

Well, just read the MSIcode. Make sure it has included the script that does the updating. Compare the scripts for the project that works and that doesn't and you should see what went wrong.
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
nic2006
Posts: 19
Joined: Mon Nov 20, 2006 7:59 am

Post by nic2006 »

Well, those steps were already followed before i asked the question. The update script is included and the files are identical between the two installers.

anything else...
nic2006
Posts: 19
Joined: Mon Nov 20, 2006 7:59 am

Post by nic2006 »

I see that it is not writing the values into the registry???
MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Post by MichaelNesmith »

Are you actually waiting for Apply Install or not?
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
nic2006
Posts: 19
Joined: Mon Nov 20, 2006 7:59 am

Post by nic2006 »

im not sure i understand what you mean by, am i waiting for Apply Install...

the app runs fine but i cannot get it to /updatesetup.
when i look at the code for the update script there are two lines that write to the registry for the current and all users:

Write Registry Key HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\$TITLE$ Update Setup, $UPDATEEXE_JUSTME$ /updatesetup

Write Registry Key HKCU\\SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run\\$TITLE$ Update Setup for All Users, $UPDATEEXE_ALLUSERS$ /updatesetup

these two lines are not written to the registry and i cannot understand why, is maybe one of the conditions not met...
MichaelNesmith
Posts: 3452
Joined: Thu Dec 22, 2005 7:17 pm
Contact:

Post by MichaelNesmith »

these two lines are not written to the registry and i cannot understand why, is maybe one of the conditions not met
If you have a previously scheduled task, they will not be written again.

or

What I meant by Apply Install is that they will be written only when this line actually executes.
Michael Nesmith
Install[b]Aware[/b]
[i]Home of The Next Generation MSI Installer[/i]
Get your free copy today - http://www.installaware.com/
nic2006
Posts: 19
Joined: Mon Nov 20, 2006 7:59 am

Post by nic2006 »

If you have a previously scheduled task, they will not be written again.
There are no previous scheduled tasks, i uninstalled everything and ran the app again.
APPLY INSTALL surely has to run in order for the app to install (which it does), the service start happens after the apply install and the service is started once the app has run.
BUT the registry does not contain those values...

I ran the app in debug mode on my development machine (the above problem happens on two separate test machines) and the registry values are written correctly on my machine. BUT the test machines do not write the registry values. The user on the test machines is an administrator, so i cant understand why the registry values are not added.
Post Reply