我正在 x64 计算机上搜索 Microsoft Access 数据库引擎的注册表项。这是我的代码:
<Property Id="MS_ADE_X64">
<RegistrySearch Id="MSADEX64_DIR" Root="HKLM" Key="SOFTWARE\Microsoft\Office\14.0\Access Connectivity Engine\InstallRoot" Name="Path" Type="directory" Win64="yes" >
<DirectorySearch Id="MSADE_DIR" Path="[MSADEX64_DIR]" >
<FileSearch Id ="ACECORE_DLL" Name ="ACECORE.DLL" />
</DirectorySearch>
</RegistrySearch>
</Property>
<Condition Message="This application requires Microsoft Access Database Engine (X64). Please install the Microsoft Access Database Engine (X64) then run this installer again.">
<![CDATA[Installed OR MS_ADE_X64]]>
</Condition>
现在,用户会看到一条消息,安装将退出。
问题:
我发现最好的方法是创建一个带有警告消息的自定义对话框。我喜欢用WixEdit http://wixedit.sourceforge.net/调整预先存在的对话框。
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<!-- QuickTime is not installed warning dialog -->
<UI>
<Dialog Id="QtWarningDlg" Width="284" Height="73" Title="QuickTime Note" NoMinimize="yes">
<Control Id="Text" Type="Text" X="38" Y="8" Width="240" Height="40" TabSkip="no">
<Text>QuickTime version 7.5.5 or higher is required for some components to function correctly. You may proceed with installation, but be sure to install QuickTime if you will be using any of those components.</Text>
</Control>
<Control Id="OK" Type="PushButton" X="114" Y="52" Width="56" Height="17" Default="yes" Cancel="yes" Text="OK">
<Publish Event="EndDialog" Value="Return">1</Publish>
</Control>
</Dialog>
</UI>
</Fragment>
</Wix>
然后我们根据条件安排它
<InstallUISequence>
<Custom Action="GetQuickTimeVersion" Before="QtWarningDlg"/>
<!-- Warn if QuickTime is not installed -->
<Show Dialog="QtWarningDlg" After="AppSearch">
<![CDATA[NOT Installed AND ((QUICKTIME_VERSION = "") OR (QUICKTIME_VERSION < "#123043840"))]]>
</Show>
</InstallUISequence>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)