![]() |
|
#1
|
|||
|
|||
|
upgrade from CD fails
I have been searching for a long time and posted on this but I haven't given up.
I built a version of my app as CDRom compressed install. I copied this install to a network location for testing. I ran this install on my pc. Then I build a minor upgrade of my app as CDRom compressed install. I burned a CD a ran this install on my pc. During the copy files action I get "Please Insert Disk:" and the install cannot proceed. There is an OK and Cancel Button. Ok loops back to this popup, and cancel terminates the upgrade. I think I understand the issue as the install cannot find the files from the original install to compare the file keys. I have seen some suggestions to modify: HKEY_CLASSES_ROOT\Installer\Products\<CompressedProductCode>\SourceList\Media and change the value for key "1" to be the SETUPEXEDIR and modify the same key in HKLM. Has anyone actually gotten this to work or figured out a workaround? Or, am I doing something wrong? Or, any, any any alternatives! What I want is: 1) user receives CD. Install. 2) I send a new CD 3) user receives a new CD. Install. The application is upgraded. I do not want to require uninstall/reinstall. This currently is the workaround. |
|
#2
|
|||
|
|||
|
A workaround for now...
My install is under a subdirectory on the CD. I copied the .msi file into the root of the CD (found in another post from this site). The upgrade now works. |
|
#3
|
|||
|
|||
|
I am having exactly the same problem, but I cannot copy the installation to the Root of the CD room.
Is there some other solution, workaround or FIX available ? |
|
#4
|
|||
|
|||
|
You might want to inspect and try to manipulate these registry entries:
Software\\Classes\\Installer\\Products\\<your guid>\\SourceList\\Media\\1 - if this is found, I believe it is telling the update the volumeLabel of your last install. So if this is found, the update will try to find the CD with this volume label. I now set this value to ";" instead of "DISK1;1" which is what my last install set it to. Software\\Classes\\Installer\\Products\\<your guid>\\SourceList\\Media\\MediaPackage - if this is found, I believe it is telling the update the path of your last install. So if this is found, the update will try to find the path on this CD. I now set this to "". This is working for me now. I believe I am setting these registry entries as if the install was run from the network, in which case the issue never comes up. Please update this post with your results if this doesn't work for you. My CD goes to production soon and I would prefer to hear about a problem now... |
|
#5
|
|||
|
|||
|
Thanks for the solution Sglenden, but I am afraid my install still fails with "Please insert the disk: 1".
Here is what I do: 1- Install "Install1" from a network location. 2- Then I Change the HKEY_LOCAL_MACHINE\\Software\\Classes\\Installer\\Products\\<your guid>\\SourceList\\Media\\1 String from "DISK1;1" to ";" (With or without the " " still produces the error) 3- Try to Install "Install2" (Minor upgrade) from CD. = Error as the installation copies files. I have the following registry values, before I change the "Media\1" registry string to ";" or ; in step 2.: HKEY_LOCAL_MACHINE\\Software\\Classes\\Installer\\Products\\<your guid>\\SourceList\\ - LastUsedSource (REG_EXPAND_SZ) = n;1;\\scratch\Build2703\ - PackageName (REG_SZ) = business software.msi HKEY_LOCAL_MACHINE\\Software\\Classes\\Installer\\Products\\<your guid>\\SourceList\\Media\\ - 1 (REG_SZ) = DISK1;1 - DiskPrompt (REG_SZ) = [1] HKEY_LOCAL_MACHINE\\Software\\Classes\\Installer\\Products\\<your guid>\\SourceList\\Net\\ - 1 (REG_EXPAND_SZ) = \\scratch\Build2703\ The Keys under HKEY_CLASSES_ROOT\Installer\Products\<CompressedProductCode>\SourceList\ are the same as under the HKEY_LOCAL_MACHINE (above) Am I doing something very wrong here ??? Last edited by Oysteinl : 09-15-2003 at 09:11 AM. |
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
|
|