I'm writing an installer for a Visual Studio add-in which requires me to place a file in %USERPROFILE%\Visual Studio 2005\Addins or %USERPROFILE%\Visual Studio 2008\Addins depending on the Visual Studio version I'm installing for. If this directory doesn't exist, it should be created, but on uninstallation of my package I probably shouldn't remove it (because other add-ins may have been installed after mine).
So far I've used the following WiX markup: <Directory Id="TARGETDIR" Name="SourceDir"> <Directory Id="PersonalFolder"> <Directory Id="VS2008LOCATION" Name="Visual Studio 2008"> <Directory Id="VS2008ADDINSLOCATION" Name="Addins"> <Component Id="SearchWorkItems2008AddInComponent" Guid="54e0b2b3-591c-4710-b254-1cabdaecd69c"> <RegistryValue Id="SearchWorkItems2008AddInKeyPath" Root="HKCU" Key="Software\!(loc.Property_CompanyName)\!(loc.Property_ProductName)" Name="SearchWorkItems2008.AddIn" Value="1" Type="integer" KeyPath="yes" /> <File Name="SearchWorkItems2008.AddIn" Source="..\..\..\SearchWorkItems\bin\SearchWorkItems2008.AddIn" /> </Component> <Component Id="SearchWorkItems2008DllComponent" Guid="de9af0a3-f099-4fd3-b018-19ce570656da"> <RegistryValue Id="SearchWorkItems2008DllKeyPath" Root="HKCU" Key="Software\!(loc.Property_CompanyName)\!(loc.Property_ProductName)" Name="SearchWorkItems2008.dll" Value="1" Type="integer" KeyPath="yes" /> <File Name="SearchWorkItems2008.dll" Source="..\..\..\SearchWorkItems\bin\SearchWorkItems2008.dll" /> </Component> <Component Id="SearchTemplate2008WiqComponent" Guid="7646d109-a17f-48ec-8447-fe48a0fddcb4"> <RegistryValue Id="SearchWorkItems2008WiqKeyPath" Root="HKCU" Key="Software\!(loc.Property_CompanyName)\!(loc.Property_ProductName)" Name="SearchWorkItems2008.wiq" Value="1" Type="integer" KeyPath="yes" /> <File Id="SearchTemplate2008WiqFile" Name="SearchTemplate.wiq" Source="..\..\..\SearchWorkItems\bin\SearchTemplate.wiq" /> </Component> </Directory> </Directory> </Directory> </Directory> The problem is that I get an ICE64 validation error (The directory VS2008LOCATION/VS2008ADDINSLOCATION is in the user profile but is not listed in the RemoveFile table). After doing some searching the common solution to this problem is to add a RemoveFolder element, however, I'm not sure this is the correct thing to do in this instance because my installer does not "own" those directories. Is there a better way around the ICE64 validation error? Is there a better way for me to determine the location of the VS 2005/2008 Addins directories? Thanks, William Bartholomew ------------------------------------------------------------------------- This SF.Net email is sponsored by the Moblin Your Move Developer's challenge Build the coolest Linux based applications with Moblin SDK & win great prizes Grand prize is a trip for two to an Open Source event anywhere in the world http://moblin-contest.org/redirect.php?banner_id=100&url=/ _______________________________________________ WiX-users mailing list WiX-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/wix-users