I am doing a major upgrade of a service application.

 

I managed to preserve the service information by removing
InstallServices and DeleteServices during UPGRADINGPRODUCTCODE and
OLDERVERSIONBEINGDETECTED. This has one drawback that I can't add a new
service to the application any more during a major upgrade. I can live
with that for now.

 

    <InstallExecuteSequence>

      <FindRelatedProducts Before="LaunchConditions" />

      <RemoveExistingProducts After="InstallValidate" />

      <InstallServices>NOT OLDERVERSIONBEINGUPGRADED</InstallServices>

      <DeleteServices>(NOT OLDERVERSIONBEINGUPGRADED) AND (NOT
UPGRADINGPRODUCTCODE)</DeleteServices>

    </InstallExecuteSequence>

 

I have a configuration file config/Config.xml, that I managed to
preserve by copying a Config_Original.xml to Config.xml at clean install
only (never install Config.xml). I couldn't get this to work with
CopyFile - it never ran without a FileId or forced a file to be
uninstalled otherwise. I did it with a custom action, but that's
admitting failure :)

 

  <CustomAction Id="CopyConfigXml" Directory="config"
ExeCommand='cmd.exe /Q /C "copy Config_Original.xml Config.xml"'
Return="check" Execute="deferred" />

  <InstallExecuteSequence>

   <Custom Action="CopyConfigXml" Before="StartServices">(NOT Installed)
AND (NOT OLDERVERSIONBEINGUPGRADED)</Custom>

  </InstallExecuteSequence>

 

Question: how do I do the config.xml file part cleanly and maybe a
better way for the service part?

 

Thx

dB.

 

-dB.

dblock.org <http://www.dblock.org/>  / foodcandy.com
<http://www.foodcandy.com/> 

 

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to