Replacing one file..
Hi.. I'm doing an upgrade on an existing version of a package, using Wise FWI 4.02 (Yeah, i know it's kinda old, but it works.. ;) ) and i've had a little trouble updating a file.
Scenario scetch: i have one file that needs to be updated. Problem is, the file needs to have the same name, cause, using our unattended install, it's the default screensaver. So the name has to remain the same. Had some issues in the past, wise would not uninstall the "older/obsolete" package, leaving the file that's needs to be uninstalled before it could be replaced alone, causing the further installation to abort on way or the other. So nothing's happended. On other pc's, it did work.. I've narrowed the possibilities down and my guess is that Wise has issues *sometimes* replacing files with the same names. Is there an other way of replacing files other the way were doing it right now? (uninstall old package using the old product code, with a reinstall of the new package in the same msi) I've already found some alternative ways of persorming an uninstall using locally cached MSI files, is this an alternative? Should i be using a script to perform this uninstall? Some thoughts on this would be higly appreciated.. [;)] TIA
Btw; i'm still a n00b at this packaging, as you would have guessed..
Scenario scetch: i have one file that needs to be updated. Problem is, the file needs to have the same name, cause, using our unattended install, it's the default screensaver. So the name has to remain the same. Had some issues in the past, wise would not uninstall the "older/obsolete" package, leaving the file that's needs to be uninstalled before it could be replaced alone, causing the further installation to abort on way or the other. So nothing's happended. On other pc's, it did work.. I've narrowed the possibilities down and my guess is that Wise has issues *sometimes* replacing files with the same names. Is there an other way of replacing files other the way were doing it right now? (uninstall old package using the old product code, with a reinstall of the new package in the same msi) I've already found some alternative ways of persorming an uninstall using locally cached MSI files, is this an alternative? Should i be using a script to perform this uninstall? Some thoughts on this would be higly appreciated.. [;)] TIA
Btw; i'm still a n00b at this packaging, as you would have guessed..
0 Comments
[ + ] Show comments
Answers (4)
Please log in to answer
Posted by:
dm1
20 years ago
Not sure what you're trying to do...are you upgrading a package or just trying to overwrite one file?
You could try using a custom script to remove the file early in the install sequence, and then add your file later on.
Or use the RemoveFile table and set the InstallMode =1, this will remove the file on install. Then add the newer version of the file. Just make sure your sequences are OK.
I would have thought that Wise would simply overwrite the existing file with the new file anyway??
If youre trying to upgrade, make sure you have the upgrade code of the previously installed MSI and use the upgrade table to remove the previous version before installing your new MSI.
You could try using a custom script to remove the file early in the install sequence, and then add your file later on.
Or use the RemoveFile table and set the InstallMode =1, this will remove the file on install. Then add the newer version of the file. Just make sure your sequences are OK.
I would have thought that Wise would simply overwrite the existing file with the new file anyway??
If youre trying to upgrade, make sure you have the upgrade code of the previously installed MSI and use the upgrade table to remove the previous version before installing your new MSI.
Posted by:
neo2000
20 years ago
Wise does overwrite the file, but not on all machines as it seems. So the method isn't 100% accurate.
The thing i was trying to do is write an entirely new package, which removes the file firts before writing back the new file. Usually i would make an package, use the upgrades option, browse to the MSI and use the InstallExecuteSequence table -> sequence: remove existing product and change the value so it would uninstall the old MSI first before commencing the new install.. The same way we always uninstall products over here.. Cuz we don't know better.. [:D]
If i change the value of Installmode to 1, the MSI automatically looks up the older version of the file and removes it...? And does it remove all the packages added in upgrade? (does it work if you want to uninstall a couple of packages, ie older versions of packages)
Thanks a bunch!
(as i said, still learning here.. still a n00b.. ;)
The thing i was trying to do is write an entirely new package, which removes the file firts before writing back the new file. Usually i would make an package, use the upgrades option, browse to the MSI and use the InstallExecuteSequence table -> sequence: remove existing product and change the value so it would uninstall the old MSI first before commencing the new install.. The same way we always uninstall products over here.. Cuz we don't know better.. [:D]
If i change the value of Installmode to 1, the MSI automatically looks up the older version of the file and removes it...? And does it remove all the packages added in upgrade? (does it work if you want to uninstall a couple of packages, ie older versions of packages)
Thanks a bunch!
(as i said, still learning here.. still a n00b.. ;)
Posted by:
dm1
20 years ago
Cool, so if you have the existing MSI, you should be able to open it up and retrieve the UPGRADE CODE. there are generally three types of upgrades, Patch, minor and Major. I am presuming you want to uninstall the entire OLD MSI package, and install the NEW MSI package. This is a Major Upgrade, because you're changing the product code and version number for the package.
Go to the Upgrade table and populate it with your old package's upgrade code. Use the SDK to tell you what the column headers mean.
Hopefully this should work for you.
Go to the Upgrade table and populate it with your old package's upgrade code. Use the SDK to tell you what the column headers mean.
Hopefully this should work for you.
Posted by:
neo2000
20 years ago
Hmm.. That's worth the try.. I'm gonna try that again.. Thanks for the answer so far!
Problem is, using the upgrade code, the old package doesn't uninstall completely. It does get removed from the software list in Windows, but the actual file that should be deleted (the screensaver file, the default screensaver in Windows) doesn't get deleted. It only gets replaced. I think it might be cause it has the same name, or it might be cause it's the default Windows screensaver. Anyhow, it doesn't delete the old file, but it DOES replace the file. On some systems *something* goes wrong, cause the file doens't get replaced. I think the uninstall is the problem. We've had other issues before with files not getting overwritten because of same name usage. Is there a way to force the deletion of a file after or during uninstall? It's not a rights issue, cuz when i try to delete the file manually it *does* work. Using wise script is an option, but i KNOW there must be a easier way.. Tia
Problem is, using the upgrade code, the old package doesn't uninstall completely. It does get removed from the software list in Windows, but the actual file that should be deleted (the screensaver file, the default screensaver in Windows) doesn't get deleted. It only gets replaced. I think it might be cause it has the same name, or it might be cause it's the default Windows screensaver. Anyhow, it doesn't delete the old file, but it DOES replace the file. On some systems *something* goes wrong, cause the file doens't get replaced. I think the uninstall is the problem. We've had other issues before with files not getting overwritten because of same name usage. Is there a way to force the deletion of a file after or during uninstall? It's not a rights issue, cuz when i try to delete the file manually it *does* work. Using wise script is an option, but i KNOW there must be a easier way.. Tia
Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.
so that the conversation will remain readable.