We use WiX 3.0.4805.0.

Requirement:

-----------
1. Detect "[AppData]\MyCompany\MyApp 2.0" folder and "[AppData]\MyCompany\MyApp 
3.0" folder, if there IS NO files/folders in 3.0 folder and there ARE 
files/folders in 2.0 folder, then setup a property
2. Based on the detection result in step one, show a dialog to ask the end user 
if she wants to migrate her settings from 2.0 folder to 3.0 folder.

Questions:
---------
1. I know there is a way to detect a file's presence like this:
<Property Id="MSIVERSION31">
<DirectorySearch Id="SystemFolderDriverVersion" Path="[SystemFolder]">
<FileSearch Name="msi.dll" MinVersion="3.1"/>
</DirectorySearch>
</Property>
But I don't know how to detect *.*? I need to detect if there is any 
files/folders in 3.0 folder, and any files/folder in 2.0 folder. There is no 
way to know the exact file name or folder name until run time. The folder could 
include files like settings.xml, or it may not include any files at all but 
just include some folders like "james" or "alice". If the condition is meet, 
then set a property called MIGRATE_SETTINGS_PROPERTY.

2. Initially, I thought I can implement a popup dialog to ask if the end user 
wants to migrate the settings. If they want to, then I've a small external 
application can handle the settings migration. If they choose no, then we won't 
migrate the settings. But then I realized that I can't implement a popup dialog 
but I can insert a dialog. This solution is fine for me. I actually added one 
dialog. In this dialog, I added some elements and one checkbox called "Migrate 
my settings". It seems working. Here is some code from my version of 
WixUI_InstallDir.wxs:
<Publish Dialog="MyDlg" Control="Back" Event="NewDialog" 
Value="MyInstallDirDlg" Order="1">NOT Installed</Publish>
<Publish Dialog="MyDlg" Control="Back" Event="NewDialog" 
Value="MaintenanceTypeDlg" Order="2">Installed</Publish>
<Publish Dialog="MyDlg" Control="Next" Event="NewDialog" Value="VerifyReadyDlg" 
Order="1">NOT Installed</Publish>
<Publish Dialog="MyDlg" Control="Next" Event="NewDialog" 
Value="MaintenanceTypeDlg" Order="2">Installed</Publish>
The problem is, how can I conditionally show this dialog based on the property 
MIGRATE_SETTINGS_PROPERTY in the previous question? Namely, if we need to 
migrate settings, then show this dialog, otherwise, we shouldn't even show this 
dialog. How to do this?


Many thanks. 
/Brian


      __________________________________________________________________
Yahoo! Canada Toolbar: Search from anywhere on the web, and bookmark your 
favourite sites. Download it now
http://ca.toolbar.yahoo.com.
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay 
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to