Hello,
i create update packages for my main setup and i upload it on a webserver. I know that i can download and install the update packs on the target system, in one step by using the following command setup.exe /update....this command works fine. The problem ist that i need to split the two processes "installing and downloading". For example the updates should be downloaded on day 1, and should be installed on day 2. Can i realize this? Which command i have to use? Is it possible to use two command. So, for example command 1 download the update packs in a folder. And command 2 looks on the next day if update packs are available in this folder and install them, and delete the files from this folder, after installing? I am very thankfull for a response.
Download update packs and install later
-
FrancescoT
- Site Admin
- Posts: 5361
- Joined: Sun Aug 22, 2010 4:28 am
Re: Download update packs and install later
Dear Sarah,
Yes, of course it is possible ... but this requires some coding.
Currently the update process (package download & package installation), it is controlled by the "Update" script which is part of your project.
If you take a look at the script code, this starts with verifying the passed command line and if this matches to "/update", the script will continue with downloading the package (if available) and then executes it.
Practically, you need to modify the default "Update" script behavior.
You should remove the code that installs the package and then, you should implement it conditionally within a new command line evaluation as could be; "/update2" ( ... you could eventually create a new script for this purpose).
Obviously, you also need to implement a way to keep track of where the package has been stored locally, in order to install it (if it has been downloaded successfully) or to delete it later.
I don't know if you are already familiar with InstallAware Scripting Technology and if not, I may suggest you to have a look at the document "MSIcode Scripting Technology for Windows Installer", available with the following link.
http://www.installaware.com/publication ... papers.htm
Hope this helps you.
Regards.
Yes, of course it is possible ... but this requires some coding.
Currently the update process (package download & package installation), it is controlled by the "Update" script which is part of your project.
If you take a look at the script code, this starts with verifying the passed command line and if this matches to "/update", the script will continue with downloading the package (if available) and then executes it.
Practically, you need to modify the default "Update" script behavior.
You should remove the code that installs the package and then, you should implement it conditionally within a new command line evaluation as could be; "/update2" ( ... you could eventually create a new script for this purpose).
Obviously, you also need to implement a way to keep track of where the package has been stored locally, in order to install it (if it has been downloaded successfully) or to delete it later.
I don't know if you are already familiar with InstallAware Scripting Technology and if not, I may suggest you to have a look at the document "MSIcode Scripting Technology for Windows Installer", available with the following link.
http://www.installaware.com/publication ... papers.htm
Hope this helps you.
Regards.
Francesco Toscano
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
Re: Download update packs and install later
Hello,
thanks for your answer, but i have some questions.
1.Is it possible to install the update packages without using the C Drive.... So is it possible to install the packages without access to the C drive and registry. For download we could use this drive, but not for installation. This have some specified reasons, because of our embedded system.
2. Is it possible to continue the downloading or the installation process, when the processes are interruped because of a computer crash.
3. Is it possible to reboot computer(script reboot) when other processes are run, without asking the user for permission
4. When i split the download and installation part, how the installation part could remember the order of the downlaoded update pack, and which packages are already installed. So i understood this information is save in the .dat file. But when i split the downloaded and installation, then there is not created a .dat file.
5. Is the .exe file of the update packs enougth to install the package, or are there other files that are needed for that process.
Sorry for the many questions, iam very thankful for response
thanks for your answer, but i have some questions.
1.Is it possible to install the update packages without using the C Drive.... So is it possible to install the packages without access to the C drive and registry. For download we could use this drive, but not for installation. This have some specified reasons, because of our embedded system.
2. Is it possible to continue the downloading or the installation process, when the processes are interruped because of a computer crash.
3. Is it possible to reboot computer(script reboot) when other processes are run, without asking the user for permission
4. When i split the download and installation part, how the installation part could remember the order of the downlaoded update pack, and which packages are already installed. So i understood this information is save in the .dat file. But when i split the downloaded and installation, then there is not created a .dat file.
5. Is the .exe file of the update packs enougth to install the package, or are there other files that are needed for that process.
Sorry for the many questions, iam very thankful for response
-
FrancescoT
- Site Admin
- Posts: 5361
- Joined: Sun Aug 22, 2010 4:28 am
Re: Download update packs and install later
Dear Sarah,
#1 even if it is possible to override the location of some files used by the setup process, as for example the installer cache location, the system drive is required due the fact that It is not possible to skip the use of windows registry. Windows Installer engine uses the registry to keep track of the installed packages.
#2 As for any running process, this depends on when the system crash event occurs and if any damage to the system has been generated.
This is not a problem caused on how InstallAware handles the crash ... unfortunately, in case of such events the result can be unpredictable.
#3 yes you can, but it is not a recommended practice and it could be unsafe as well.
#4 As I told you with my previous reply, you should develop a custom script to handle these specific functionality. This is the reason why I have suggested you to have a look at the "MSIcode Scripting Technology for Windows Installer" document.
#5 I'm not sure at which update pack you are referring, but anyway any exe generated by IA contains all the data you used with the project.
Hope this helps you
Regards.
#1 even if it is possible to override the location of some files used by the setup process, as for example the installer cache location, the system drive is required due the fact that It is not possible to skip the use of windows registry. Windows Installer engine uses the registry to keep track of the installed packages.
#2 As for any running process, this depends on when the system crash event occurs and if any damage to the system has been generated.
This is not a problem caused on how InstallAware handles the crash ... unfortunately, in case of such events the result can be unpredictable.
#3 yes you can, but it is not a recommended practice and it could be unsafe as well.
#4 As I told you with my previous reply, you should develop a custom script to handle these specific functionality. This is the reason why I have suggested you to have a look at the "MSIcode Scripting Technology for Windows Installer" document.
#5 I'm not sure at which update pack you are referring, but anyway any exe generated by IA contains all the data you used with the project.
Hope this helps you
Regards.
Francesco Toscano
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
Re: Download update packs and install later
##1) So i have understood, i do only need the registry and C drive for installation? So, I could download my update file from server on another drive than C drive(for example D: drive) and later install WITH using the C drive and registry? So registry is only need for the installation progress?
##2) i didn't find the functionality to reboot computer without aksing user. Can you tell me the function name for that, or which options i have to set
##4) i read the file you suggested me, but it was not very helpful for me, because it is a very superficial introduction. Is there any tutorial which gives me depth knowledge? Is there any tutorial which explain me the princip of the download and install mechanismus...related to the existing update script... I had to set messages all over the script to understood which parts of msi update code are execute....
...i have an addition question
5.)I split the msi update code in two parts...Part one is the download part and part two is installation
The download part is successfull. The Update.exe and ini is download successfull...But the installation part makes me problems....
Here is a part of my msi-update Code
"
Define Region:Update Mode?
Set Variable COMMANDLINE to $CMDLINE$"
if Variable commandline Contains /update2
Messagebox 5:...
GoToLabel:Install Prompt
Messagebox 6...
"
when i write in the commandline : setup.exe /update2 ...
the above part of code is never execute...
The update code is always start with the Label: "Check for updates", whether if i write on commandline "/update"(download process) or "/update2"(install process) . Why the code starts alway with the Label "Check for update"...Where is this defined? Where is define what to do when /update or /updatesetup is enter
The standard update code only checks following:
if Variable commandline NOT Contains /update
...
if Variable commandline NOT Contains /updatesetup
...
You write me in your first mail "... If you take a look at the script code, this starts with verifying the passed command line and if this matches to "/update",...." I can't find the code in my update script, that you described me ...
Sorry i am a bit confused...Thanks for helping
Best regards
Sarah
##2) i didn't find the functionality to reboot computer without aksing user. Can you tell me the function name for that, or which options i have to set
##4) i read the file you suggested me, but it was not very helpful for me, because it is a very superficial introduction. Is there any tutorial which gives me depth knowledge? Is there any tutorial which explain me the princip of the download and install mechanismus...related to the existing update script... I had to set messages all over the script to understood which parts of msi update code are execute....
...i have an addition question
5.)I split the msi update code in two parts...Part one is the download part and part two is installation
The download part is successfull. The Update.exe and ini is download successfull...But the installation part makes me problems....
Here is a part of my msi-update Code
"
Define Region:Update Mode?
Set Variable COMMANDLINE to $CMDLINE$"
if Variable commandline Contains /update2
Messagebox 5:...
GoToLabel:Install Prompt
Messagebox 6...
"
when i write in the commandline : setup.exe /update2 ...
the above part of code is never execute...
The update code is always start with the Label: "Check for updates", whether if i write on commandline "/update"(download process) or "/update2"(install process) . Why the code starts alway with the Label "Check for update"...Where is this defined? Where is define what to do when /update or /updatesetup is enter
The standard update code only checks following:
if Variable commandline NOT Contains /update
...
if Variable commandline NOT Contains /updatesetup
...
You write me in your first mail "... If you take a look at the script code, this starts with verifying the passed command line and if this matches to "/update",...." I can't find the code in my update script, that you described me ...
Sorry i am a bit confused...Thanks for helping
Best regards
Sarah
-
FrancescoT
- Site Admin
- Posts: 5361
- Joined: Sun Aug 22, 2010 4:28 am
Re: Download update packs and install later
Dear Sarah,
###1 You can store the downloaded package where you like, but the installation requires the system drive to be completed correctly.
The system drive is used by the setup package to store all the information about the installed application (including system registry).
###2 use the commands; "Reboot Computer", "Reboot and Resume" and "Reboot and Login" as you prefer.
###4 The documentation I suggested you doesn't illustrates the principle of the download and install process, but instead, how script language works.
This is the main basic step to understand how to write a functional IA script code ... and consequently it will help you to proceed with the coding phase of your project. To have more details on how the update process is handled by InstallAware, please refer to "Web Updates" in IA documentation (... just press F1 in IA IDE).
#5 By default the Update script first verifies if the passed command line DOESN'T CONTAIN "/Update" (DEFINE REGION UPDATE MODE?)
If this is true, the script stores and defines some setting for successive use. This means that if the passed command line CONTAINS "/Update" the other part of the script is executed. To summarize briefly the script code;
1- conditionally check if the command line DOESN'T CONTAIN "/Update"
2- conditionally check if the command line DOESN'T CONTAIN "/updatesetup". If this is true, the script executes the "Check for Updates" label ( declared at code line n.200 with the default script).
Due of the above conditional check verification (...at point 1 & 2), if the passed command line CONTAINS "/Update", the point 2 is processed and the code within the "Check for Updates" is executed (which by default; first downloads the update (if available) and then installs it). So you must modify the internal behavior of the "Check for Updates" label.
Just a note.
This is the reason why I suggested you to first go with experimenting the IA script code functionality, that are described with the "MSIcode Scripting Technology for Windows Installer" document.
Hope this helps you.
Regards
###1 You can store the downloaded package where you like, but the installation requires the system drive to be completed correctly.
The system drive is used by the setup package to store all the information about the installed application (including system registry).
###2 use the commands; "Reboot Computer", "Reboot and Resume" and "Reboot and Login" as you prefer.
###4 The documentation I suggested you doesn't illustrates the principle of the download and install process, but instead, how script language works.
This is the main basic step to understand how to write a functional IA script code ... and consequently it will help you to proceed with the coding phase of your project. To have more details on how the update process is handled by InstallAware, please refer to "Web Updates" in IA documentation (... just press F1 in IA IDE).
#5 By default the Update script first verifies if the passed command line DOESN'T CONTAIN "/Update" (DEFINE REGION UPDATE MODE?)
If this is true, the script stores and defines some setting for successive use. This means that if the passed command line CONTAINS "/Update" the other part of the script is executed. To summarize briefly the script code;
1- conditionally check if the command line DOESN'T CONTAIN "/Update"
2- conditionally check if the command line DOESN'T CONTAIN "/updatesetup". If this is true, the script executes the "Check for Updates" label ( declared at code line n.200 with the default script).
Due of the above conditional check verification (...at point 1 & 2), if the passed command line CONTAINS "/Update", the point 2 is processed and the code within the "Check for Updates" is executed (which by default; first downloads the update (if available) and then installs it). So you must modify the internal behavior of the "Check for Updates" label.
Just a note.
This is the reason why I suggested you to first go with experimenting the IA script code functionality, that are described with the "MSIcode Scripting Technology for Windows Installer" document.
Hope this helps you.
Regards
Francesco Toscano
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE
InstallAware Software
White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

