Hello, I just wanted to know how you handle these 2 needs during an upgrade : - A component has files with new filename, When I try it, the new file is installed but the old one is not uninstalled. How should I do to upgrade the component with the installation of the new file and the suppression of the old one ? - Install a new component automatically by the command : "msiexec /i package.msi REINSTALL=ALL REINSTALLMODE=vomus", The upgrade is well done and the new version is available but, component with new Guid is not installed. How should I do to force the new component to be installed during the upgrade ? The wix tutorial doesn't handle these smalls things so I hope you understood my 2 questions. Thank you in advance for your advises, -- Etienne GRIGNON |
> - A component has files with new filename, When I try it, the new file > is installed but the old one is not uninstalled. How should I do to > upgrade the component with the installation of the new file and the > suppression of the old one ? You can't change the filenames in a component. Create a new one. If this is for a minor update change the original component to include a RemoveFile entry. > > - Install a new component automatically by the command : "msiexec /i > package.msi REINSTALL=ALL REINSTALLMODE=vomus", The upgrade is well > done and the new version is available but, component with new Guid is > not installed. How should I do to force the new component to be > installed during the upgrade ? Not sure what's wrong here. Are you breaking the component rules again? Rob -- The views expressed in this message do not necessarily constitute the views of SN Systems Ltd and information in this message is confidential and may be privileged. It is intended solely for the person to whom it is addressed. If you are not the intended recipient, please notify the sender and please delete the message from your system immediately. ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
Hello,
thank you for your answer. This is what I did. It works better, it deletes the file on upgrades. However, the registry is not prepends as it should. Also, the new product is not installed. This is the component declaration : <!-- Old Vbs Component --> <Component Id='diskC' Guid='2888887D-5A7A-4a82-B1D4-282578842C2A'> <RemoveFile Id='PerfDisks.vbs' Name="PerfDisk.vbs" LongName='PerfDisks.vbs' On="both"/> <Registry Id='ProbesPerfDisksReg' Root='HKLM' Key='SOFTWARE\Monitoring\Test\Probes' Name='ToDefault' Action='prepend' Type='multiString' Value="[probesD]PerfDisks.vbs /INT=300; "/> </Component> <Component Id='diskBinaryC' Guid='D87ED5F0-5199-4220-A323-EC2724A69D9A'> <File Id='PerfDisks.exe' Name="PerfDisk.exe" LongName='PerfDisks.exe' DiskId='1' src='probes/PerfDisks.exe' Vital='yes'/> <Registry Id='ProbesPerfDisksBinaryReg' Root='HKLM' Key='SOFTWARE\Monitoring\Test\Probes' Name='ToDefault' Action='append' Type='multiString' Value="[extD]PerfDisks.exe /INT=300; "/> </Component> The feature part : <Feature Id='diskP' Title='Disks' Description='Will monitor the disk available space on disk with different units than the embed feature in client.' TypicalDefault='install' Level='1'> <ComponentRef Id='diskC' /> <!-- the one to delete --> <ComponentRef Id='diskBinaryC' /> <!-- the new one to install --> </Feature> May be there is something very wrong in the wix declaration that I'v done. Thank you in advance, 2005/9/20, Rob Hamflett <[hidden email]>:
-- Etienne GRIGNON |
Since your using altering the same value in both Registry tags I can
only guess that both are making a copy of the existing value, making the change and writing them back. ProbesPerfDisksBinaryReg is being done second and overwriting ProbesPerfDisksReg. Not sure though, maybe someone else knows better. A log file might help show what's going on, as well as point out why the product is not getting installed. What do you mean by that exactly? Is the PerfDisks.exe file not installed or does the product not appear in Add/Remove Programs or what? Rob Etienne Grignon wrote: > Hello, > > thank you for your answer. This is what I did. It works better, it > deletes the file on upgrades. However, the registry is not prepends as > it should. Also, the new product is not installed. > > This is the component declaration : > > <!-- Old Vbs Component --> > <Component Id='diskC' Guid='2888887D-5A7A-4a82-B1D4-282578842C2A'> > <RemoveFile Id='PerfDisks.vbs' Name="PerfDisk.vbs" > LongName='PerfDisks.vbs' On="both"/> > <Registry Id='ProbesPerfDisksReg' Root='HKLM' > Key='SOFTWARE\Monitoring\Test\Probes' Name='ToDefault' Action='prepend' > Type='multiString' Value="[probesD]PerfDisks.vbs /INT=300; "/> > </Component> > > <Component Id='diskBinaryC' Guid='D87ED5F0-5199-4220-A323-EC2724A69D9A'> > <File Id='PerfDisks.exe' Name="PerfDisk.exe" > LongName='PerfDisks.exe' DiskId='1' src='probes/PerfDisks.exe' Vital='yes'/> > <Registry Id='ProbesPerfDisksBinaryReg' Root='HKLM' > Key='SOFTWARE\Monitoring\Test\Probes' Name='ToDefault' Action='append' > Type='multiString' Value="[extD]PerfDisks.exe /INT=300; "/> > </Component> > > The feature part : > > <Feature Id='diskP' Title='Disks' Description='Will monitor the disk > available space on disk with different units than the embed feature in > client.' TypicalDefault='install' Level='1'> > <ComponentRef Id='diskC' /> <!-- the one to delete --> > <ComponentRef Id='diskBinaryC' /> <!-- the new one > to install --> > </Feature> > > > May be there is something very wrong in the wix declaration that I'v done. > > Thank you in advance, > > > > > 2005/9/20, Rob Hamflett <[hidden email] <mailto:[hidden email]>>: > > > > - A component has files with new filename, When I try it, the new > file > > is installed but the old one is not uninstalled. How should I do to > > upgrade the component with the installation of the new file and the > > suppression of the old one ? > > You can't change the filenames in a component. Create a new one. If > this is for a minor update change the original component to include a > RemoveFile entry. > > > > > - Install a new component automatically by the command : "msiexec /i > > package.msi REINSTALL=ALL REINSTALLMODE=vomus", The upgrade is well > > done and the new version is available but, component with new > Guid is > > not installed. How should I do to force the new component to be > > installed during the upgrade ? > > Not sure what's wrong here. Are you breaking the component rules again? > > Rob > > -- > The views expressed in this message do not necessarily constitute > the views of SN Systems Ltd and information in this message is > confidential and may be privileged. It is intended solely for the > person to whom it is addressed. If you are not the intended > recipient, please notify the sender and please delete the message > from your system immediately. > > > > ------------------------------------------------------- > SF.Net email is sponsored by: > Tame your development challenges with Apache's Geronimo App Server. > Download > it for free - -and be entered to win a 42" plasma tv or your very own > Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php > _______________________________________________ > WiX-users mailing list > [hidden email] <mailto:[hidden email]> > https://lists.sourceforge.net/lists/listinfo/wix-users > > > > > -- > Etienne GRIGNON ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
Rob,
It looks better now. The new component is installed when I upgrade the product. The only problem now is that the prepend action to remove a value from the multi string registry type doesn't seem to work. At the end, I got both registry value lines : one with .vbs and one with .exe The ugly thing which I could do is to create a registry called ToRemove and create a customaction to remove lines from the original registry thanks to that temporary registry. What do you think of my idea ? How would you handle that ? Thank you in advance, -- Etienne GRIGNON |
Oh, you want to remove the value that was prepended on the last install.
That's slightly trickier. I'm not sure you can get round that without letting MSI do it for you during uninstall. If you have to do this as a minor upgrade and you have to remove that value, I think a Custom Action is your only choice. Alternatively you could do it as a major upgrade, which is what I do each time (you don't need to change the major version number to do a major upgrade). Just be sure to author the Upgrade table properly to remove the previous version. Rob Etienne Grignon wrote: > Rob, > > It looks better now. The new component is installed when I upgrade the > product. The only problem now is that the prepend action to remove a > value from the multi string registry type doesn't seem to work. > > At the end, I got both registry value lines : one with .vbs and one with > .exe > The ugly thing which I could do is to create a registry called ToRemove > and create a customaction to remove lines from the original registry > thanks to that temporary registry. What do you think of my idea ? How > would you handle that ? > > Thank you in advance, > > > -- > Etienne GRIGNON ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
When you remove a registry value you can only remove the whole thing,
not just a part of it. As for the Major upgrade issue, just sequence RemoveExistingProducts as the last thing in your InstallSequence. This is the most efficient way to use it, anyway. Rob Etienne Grignon wrote: > Well, it's strange that it is not possible to use the "remove" action > for multiString registry, because when I try to use it. It tells me that : > > error CNDL0040 : The Registry/@Value attribute cannot be specified > when attribute Action is present with value 'remove'. > error CNDL0040 : The Registry/@Type attribute cannot be specified when > attribute Action is present with value 'remove'. > > The problem with Major upgrade is that I will loose my registry > settings when it will desinstall it before upgrading. This is why I > use minor upgrade. > > > > 2005/9/20, Rob Hamflett <[hidden email] <mailto:[hidden email]>>: > > Oh, you want to remove the value that was prepended on the last > install. > That's slightly trickier. I'm not sure you can get round that > without letting MSI do it for you during uninstall. If you have to do > this as a minor upgrade and you have to remove that value, I think a > Custom Action is your only choice. Alternatively you could do it as a > major upgrade, which is what I do each time (you don't need to change > the major version number to do a major upgrade). Just be sure to > author > the Upgrade table properly to remove the previous version. > > Rob > > > Etienne Grignon wrote: > > Rob, > > > > It looks better now. The new component is installed when I > upgrade the > > product. The only problem now is that the prepend action to > remove a > > value from the multi string registry type doesn't seem to work. > > > > At the end, I got both registry value lines : one with .vbs and > one with > > .exe > > The ugly thing which I could do is to create a registry called > ToRemove > > and create a customaction to remove lines from the original registry > > thanks to that temporary registry. What do you think of my idea > ? How > > would you handle that ? > > > > Thank you in advance, > > > > > > -- > > Etienne GRIGNON > > > > ------------------------------------------------------- > SF.Net email is sponsored by: > Tame your development challenges with Apache's Geronimo App > Server. Download > it for free - -and be entered to win a 42" plasma tv or your very own > Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php > _______________________________________________ > WiX-users mailing list > [hidden email] > <mailto:[hidden email]> > https://lists.sourceforge.net/lists/listinfo/wix-users > <https://lists.sourceforge.net/lists/listinfo/wix-users> > > > > > -- > Etienne GRIGNON -- The views expressed in this message do not necessarily constitute the views of SN Systems Ltd and information in this message is confidential and may be privileged. It is intended solely for the person to whom it is addressed. If you are not the intended recipient, please notify the sender and please delete the message from your system immediately. ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ WiX-users mailing list [hidden email] https://lists.sourceforge.net/lists/listinfo/wix-users |
Free forum by Nabble | Edit this page |