Is there a way to save the Rollback State of an application after the install completes?
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
You can use restore points. MSI by default can trigger a restore point prior to installation which will allow complete rollback. It is relatively intensive on disk space usage. But it does what you require.
Answered 04/18/2007 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
0
the only other alternatively would be to use a CA to capture the RBF files however I dont think that would even give you enough as you would be require to also capture the previous versions of files as well .
Answered 04/18/2007 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
0
there is probably a better way but the rollback script \config.msi\xxxxx.rbs stores files as *.rbf so you could copy those before the installation is marked a succes and they are deleted..

edit as above... *.rbf not *.rbd [:)]
Answered 04/18/2007 by: Tone
Second Degree Blue Belt

Please log in to comment
0
problem with that is you would of lost the backed up files.

part of the costing phase backs up any files which are targeted for replacement, the RBF files reference those backed up files.

when installation is completed those files are removed. you would also need to back them up as well for the rbf to work.
Answered 04/18/2007 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
0
Thanks for the feedback. Not too sure if the rollback would work in this case. I was hoping there was a way to leave the rollback data on the machine after the installation was complete. I have an installation that has multiple MSI installing from a wrapper. If the first 5 complete successful and the 6th fails, I cant restore to the original machine state.

Thanks again for all the help
Answered 04/19/2007 by: bbernius
Yellow Belt

Please log in to comment
0
ok in that case you can determine the return code of each of the installations, where you find one has not returned a 0 you can execute an uninstall on the previous items.

to check the return code it is quite simple

intRet = objShell.Run "msiexec /i <path to your msi> /qb-"

if intRet <> 0 then
for each install in installs
objShell.run "msiexec.exe /x <path to your msi>"
next
end if

something like that could help.
Answered 04/22/2007 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
0
ORIGINAL: jmcfadyen

problem with that is you would of lost the backed up files.

part of the costing phase backs up any files which are targeted for replacement, the RBF files reference those backed up files.

when installation is completed those files are removed. you would also need to back them up as well for the rbf to work.



I was thinking along the lines of copying the rbf files before the success flag was returned, but looking at this a bit more and it seems that only files that are marked for removal rather than replacement are backed up under config.msi is this correct?
Answered 04/23/2007 by: Tone
Second Degree Blue Belt

Please log in to comment
0
ORIGINAL: jmcfadyen

ok in that case you can determine the return code of each of the installations, where you find one has not returned a 0 you can execute an uninstall on the previous items.

to check the return code it is quite simple

intRet = objShell.Run "msiexec /i <path to your msi> /qb-"

if intRet <> 0 then
for each install in installs
objShell.run "msiexec.exe /x <path to your msi>"
next
end if

something like that could help.



Problem with that is a successful installation doesn’t always return 0, one example is a reboot would return 1641 or 3010
Answered 04/23/2007 by: Tone
Second Degree Blue Belt

Please log in to comment
Answer this question or Comment on this question for clarity