views:

112

answers:

1

EDIT!

Okay, further examination and experimentation is showing that the problematic file, the pathwaysMdf file, IS being installed! However, after being installed, it's being REMOVED, by a RemoveFiles action!

I imagine it's doing this because that file is part of the original install, so it's doing it's job uninstalling and cleaning up. ARGH! What can I do?!

I am still having this problem. This is the closest I have come to a solution that works, and yet it doesn't quite work. Here is (most of) the code:

     <Product Id='$(var.ProductCode)'
    UpgradeCode='$(var.UpgradeCode)'
    Name="Pathways"
    Version='$(var.ProductVersion)'
    Manufacturer='$(var.Manufacturer)'
    Language='1033'>


  <Package Id="*" 
     Description="Pathways Directory Software"
     InstallerVersion="301"
     Compressed="yes" />

  <WixVariable Id="WixUILicenseRtf" Value="License.rtf" />
  <Media Id="1" Cabinet="Pathways.cab" EmbedCab="yes" />

  <Upgrade Id="$(var.UpgradeCode)">
   <UpgradeVersion
    OnlyDetect="no"  
    Maximum="$(var.ProductVersion)"
    IncludeMaximum="no"
    Language="1033"
    Property="OLDAPPFOUND"
   />
   <UpgradeVersion
    Minimum="$(var.ProductVersion)"
    IncludeMinimum="yes"
    OnlyDetect="yes"
    Language="1033"
    Property="NEWAPPFOUND"
   />
  </Upgrade>

  <!-- directories -->
  <Directory Id="TARGETDIR" Name="SourceDir">

   <!-- program files directory -->
   <Directory Id="ProgramFilesFolder">
    <Directory Id="INSTALLDIR" Name="Pathways"/>
   </Directory>

   <!-- application data directory -->
   <Directory Id="CommonAppDataFolder" Name="CommonAppData">
    <Directory Id="CommonAppDataPathways" Name="Pathways" />
   </Directory>

   <!-- start menu program directory -->
   <Directory Id="ProgramMenuFolder">
    <Directory Id="ProgramsMenuPathwaysFolder" Name="Pathways" />
   </Directory>

   <!-- desktop directory -->
   <Directory Id="DesktopFolder" />

  </Directory>

  <Icon Id="PathwaysIcon" SourceFile="\\Fileserver\Release\Pathways\Latest\Release\Pathways.exe" />

  <!-- components in the reference to the install directory -->
  <DirectoryRef Id="INSTALLDIR">
   <Component Id="Application" Guid="EEE4EB55-A515-4872-A4A5-06D6AB4A06A6">
    <File Id="pathwaysExe" Name="Pathways.exe" DiskId="1" Source="\\Fileserver\Release\Pathways\Latest\Release\Pathways.exe" Vital="yes" KeyPath="yes" Assembly=".net" AssemblyApplication="pathwaysExe" AssemblyManifest="pathwaysExe" />

    <File Id="pathwaysChm" Name="Pathways.chm" DiskId="1" Source="\\fileserver\Release\Pathways\Dependencies\Pathways.chm" />
    <File Id="publicKeyXml" ShortName="RSAPUBLI.XML" Name="RSAPublicKey.xml" DiskId="1" Source="\\fileserver\Release\Pathways\Dependencies\RSAPublicKey.xml" Vital="yes" />
    <File Id="staticListsXml" ShortName="STATICLI.XML" Name="StaticLists.xml" DiskId="1" Source="\\fileserver\Release\Pathways\Dependencies\StaticLists.xml" Vital="yes" />

    <File Id="axInteropMapPointDll" ShortName="AXMPOINT.DLL" Name="AxInterop.MapPoint.dll" DiskId="1" Source="\\fileserver\Release\Pathways\Dependencies\AxInterop.MapPoint.dll" Vital="yes" />
    <File Id="interopMapPointDll" ShortName="INMPOINT.DLL" Name="Interop.MapPoint.dll" DiskId="1" Source="\\fileserver\Release\Pathways\Dependencies\Interop.MapPoint.dll" Vital="yes" />
    <File Id="mapPointDll" ShortName="MAPPOINT.DLL" Name="MapPoint.dll" DiskId="1" Source="\\fileserver\Release\Pathways\Dependencies\Interop.MapPoint.dll" Vital="yes" />

    <File Id="devExpressData63Dll" ShortName="DAAT63.DLL" Name="DevExpress.Data.v6.3.dll" DiskId="1" Source="\\fileserver\Release\Pathways\Dependencies\DevExpress.Data.v6.3.dll" Vital="yes" />
    <File Id="devExpressUtils63Dll" ShortName="UTILS63.DLL" Name="DevExpress.Utils.v6.3.dll" DiskId="1" Source="\\fileserver\Release\Pathways\Dependencies\DevExpress.Utils.v6.3.dll" Vital="yes" />
    <File Id="devExpressXtraBars63Dll" ShortName="BARS63.DLL" Name="DevExpress.XtraBars.v6.3.dll" DiskId="1" Source="\\fileserver\Release\Pathways\Dependencies\DevExpress.XtraBars.v6.3.dll" Vital="yes" />
    <File Id="devExpressXtraNavBar63Dll" ShortName="NAVBAR63.DLL" Name="DevExpress.XtraNavBar.v6.3.dll" DiskId="1" Source="\\fileserver\Release\Pathways\Dependencies\DevExpress.XtraNavBar.v6.3.dll" Vital="yes" />
    <File Id="devExpressXtraCharts63Dll" ShortName="CHARTS63.DLL" Name="DevExpress.XtraCharts.v6.3.dll" DiskId="1" Source="\\fileserver\Release\Pathways\Dependencies\DevExpress.XtraCharts.v6.3.dll" Vital="yes" />
    <File Id="devExpressXtraEditors63Dll" ShortName="EDITOR63.DLL" Name="DevExpress.XtraEditors.v6.3.dll" DiskId="1" Source="\\fileserver\Release\Pathways\Dependencies\DevExpress.XtraEditors.v6.3.dll" Vital="yes" />
    <File Id="devExpressXtraPrinting63Dll" ShortName="PRINT63.DLL" Name="DevExpress.XtraPrinting.v6.3.dll" DiskId="1" Source="\\fileserver\Release\Pathways\Dependencies\DevExpress.XtraPrinting.v6.3.dll" Vital="yes" />
    <File Id="devExpressXtraReports63Dll" ShortName="REPORT63.DLL" Name="DevExpress.XtraReports.v6.3.dll" DiskId="1" Source="\\fileserver\Release\Pathways\Dependencies\DevExpress.XtraReports.v6.3.dll" Vital="yes" />
    <File Id="devExpressXtraRichTextEdit63Dll" ShortName="RICHTE63.DLL" Name="DevExpress.XtraRichTextEdit.v6.3.dll" DiskId="1" Source="\\fileserver\Release\Pathways\Dependencies\DevExpress.XtraRichTextEdit.v6.3.dll" Vital="yes" />

    <RegistryValue Id="PathwaysInstallDir" Root="HKLM" Key="Software\Tribal Data Resources\Pathways" Name="InstallDir" Action="write" Type="string" Value="[INSTALLDIR]" />
   </Component>

  </DirectoryRef>

  <!-- application data components -->
  <DirectoryRef Id="CommonAppDataPathways">

   <Component Id="CommonAppDataPathwaysFolderComponent" Guid="087C6F14-E87E-4B57-A7FA-C03FC8488E0D">
    <CreateFolder>
     <Permission User="Everyone" GenericAll="yes" />
    </CreateFolder>

    <RemoveFolder Id="CommonAppDataPathways" On="uninstall" />
    <!-- <RegistryValue Root="HKCU" Key="Software\TDR\Pathways" Name="installed" Type="integer" Value="1" KeyPath="yes" />-->

   </Component>

   <Component Id="Settings" Guid="A3513208-4F12-4496-B609-197812B4A953" NeverOverwrite="yes">
    <File Id="settingsXml" KeyPath="yes" ShortName="SETTINGS.XML" Name="Settings.xml" DiskId="1" Source="\\fileserver\Release\Pathways\Dependencies\Settings\settings.xml" Vital="yes" />   
   </Component>



   <Component Id="Database" Guid="1D8756EF-FD6C-49BC-8400-299492E8C65D">
    <!--<RegistryValue Root="HKLM" Key="Software\TDR\Pathways\Database" Name="installed" Type="integer" Value="1" KeyPath="yes" />-->
    <File Id="pathwaysMdf" CompanionFile="pathwaysExe" Name="Pathways.mdf" DiskId="1" Source="\\fileserver\Shared\Databases\Pathways\SystemDBs\Pathways.mdf" Vital="yes"/>
    <File Id="pathwaysLdf" CompanionFile="pathwaysExe" Name="Pathways_log.ldf" DiskId="1" Source="\\fileserver\Shared\Databases\Pathways\SystemDBs\Pathways.ldf" Vital="yes"/>
   </Component>

  </DirectoryRef>

  <!-- shortcut components -->
  <DirectoryRef Id="DesktopFolder">
   <Component Id="DesktopShortcutComponent" Guid="1BF412BA-9C6B-460D-80ED-8388AC66703F">
    <Shortcut Id="DesktopShortcut"
        Target="[INSTALLDIR]Pathways.exe"
        Name="Pathways"
        Description="Pathways Tribal Directory"
        Icon="PathwaysIcon"
        Show="normal"
        WorkingDirectory="INSTALLDIR" />
    <RegistryValue Root="HKCU" Key="Software\TDR\Pathways" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
   </Component>
  </DirectoryRef>

  <DirectoryRef Id ="ProgramsMenuPathwaysFolder">
   <Component Id="ProgramsMenuShortcutComponent" Guid="83A18245-4C22-4CDC-94E0-B480F80A407D">
    <Shortcut Id="ProgramsMenuShortcut" Target="[INSTALLDIR]Pathways.exe" Name="Pathways" Icon="PathwaysIcon" Show="normal" WorkingDirectory="INSTALLDIR" />
    <RemoveFolder Id="ProgramsMenuPathwaysFolder" On="uninstall"/>
    <RegistryValue Root="HKCU" Key="Software\TDR\Pathways" Name="installed" Type="integer" Value="1" KeyPath="yes"/>
   </Component>
  </DirectoryRef>


  <Feature Id="App" Title="Pathways Application" Level="1" Description="Pathways software" Display="expand" ConfigurableDirectory="INSTALLDIR" Absent="disallow" AllowAdvertise="no" InstallDefault="local">
   <ComponentRef Id="Application" />
   <ComponentRef Id="CommonAppDataPathwaysFolderComponent" />
   <ComponentRef Id="Settings"/>
   <ComponentRef Id="ProgramsMenuShortcutComponent" />
   <Feature Id="Shortcuts" Title="Desktop Shortcut" Level="1" Absent="allow" AllowAdvertise="no" InstallDefault="local">
    <ComponentRef Id="DesktopShortcutComponent" />
   </Feature>
  </Feature>


  <Feature Id="Data" Title="Database" Level="1" Absent="allow"  AllowAdvertise="no"  InstallDefault="local">
   <ComponentRef Id="Database" />
   <!--<ComponentRef Id="MDF"/>
   <ComponentRef Id="LDF"/>-->
  </Feature>

  <UIRef Id ="WixUI_FeatureTree"/>
  <UIRef Id="WixUI_ErrorProgressText"/>

  <UI>
   <Error Id="2000">There is a later version of this program installed.</Error>
  </UI>

  <CustomAction Id="NewerVersionDetected" Error="2000" />

  <InstallExecuteSequence>
   <RemoveExistingProducts After="InstallFinalize"/>
  </InstallExecuteSequence>

 </Product>

The problem I am having is that I need the two files in the Database component to replace the previous copies. Since these files are unversioned, I have attempted to use the CompanionFile tag set to the PathwaysExe since that is the main executable of the application, and it IS being updated, even if the log says it isn't! The strangest thing about this is that the PathwaysLdf file IS BEING UPDATED CORRECTLY, and the PathwaysMdf file IS NOT. The log seems to indicate that the "Existing file is of an equal version (Checked using version of companion)". This is very strange because that file is being replaced just fine.

The only idea I have left is that this problem has to do with the install sequence, and I'm not sure how to proceed! I have the InstallExecuteSequence set like I do because of the SettingsXml file, and my need to NOT overwrite that file, which is actually working now, so whatever solution works for the database files can't break the working settings file! ;)

The full log is located at: http://pastebin.com/HFiGKuKN

PLEASE AND THANK YOU!

A: 

Try early scheduling of RemoveExistingProducts, instead of late scheduling and you should be OK.

<RemoveExistingProducts After="InstallInitialize" />
sascha
Okay, putting RemoveExistingProducts after InstallInitialize instead of InstallFinalize DOES succeed in causing the MDF and LDF files to replace their previous versions perfectly.HOWEVER! I created this problem because of the OTHER file that I need to remain intact, the Settings.XML file needs to never overwrite it's previous!So I did the InstallFinalize to solve that problem, creating this other with the MDF and LDF files. How can I have both?!
Joshua
See my answer to your other question :)
sascha