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
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users