用户有了快捷方式了
,但当程序启动起来后,却弹出一个错误说"应用程序正常初始化(0xc0000135)失败.请单击'确定',终止应用程序."...
晕了,原来客户的机器上没装.NET Framework啊~一般这种情况下,没耐心的用户会大骂一通,然后直接卸载走人~这是我们最不愿意看到的,那么在安装前,怎样告诉用户这个有可能引发他不满的信息呢?解决方案,WiX已经准备好了~来看下面这段代码节选:
晕了,原来客户的机器上没装.NET Framework啊~一般这种情况下,没耐心的用户会大骂一通,然后直接卸载走人~这是我们最不愿意看到的,那么在安装前,怎样告诉用户这个有可能引发他不满的信息呢?解决方案,WiX已经准备好了~来看下面这段代码节选:
代码
<?
xml version="1.0" encoding="UTF-8"
?>
< Wix xmlns ="http://schemas.microsoft.com/wix/2006/wi" xmlns:netfx ="http://schemas.microsoft.com/wix/NetFxExtension" >
......
< Media Id ="1" Cabinet ="media1.cab" EmbedCab ="yes" />
< PropertyRef Id ="NETFRAMEWORK35" />
< Condition Message ="This application requires .NET Framework 3.5. Please install the .NET Framework then run this installer again." >
<![CDATA[ Installed OR NETFRAMEWORK35 ]]>
</ Condition >
< Directory Id ="TARGETDIR" Name ="SourceDir" >
......
< Wix xmlns ="http://schemas.microsoft.com/wix/2006/wi" xmlns:netfx ="http://schemas.microsoft.com/wix/NetFxExtension" >
......
< Media Id ="1" Cabinet ="media1.cab" EmbedCab ="yes" />
< PropertyRef Id ="NETFRAMEWORK35" />
< Condition Message ="This application requires .NET Framework 3.5. Please install the .NET Framework then run this installer again." >
<![CDATA[ Installed OR NETFRAMEWORK35 ]]>
</ Condition >
< Directory Id ="TARGETDIR" Name ="SourceDir" >
......
接下来,我们详细看看Condition
<
Condition
Message
="This application requires .NET Framework 3.5. Please install the .NET Framework then run this installer again."
>
<![CDATA[ Installed OR NETFRAMEWORK35 ]]>
</ Condition >
<![CDATA[ Installed OR NETFRAMEWORK35 ]]>
</ Condition >
好了,我们在看看其他几个经常用到的Pre-checking
Condition的不仅仅用在Pre-checking,条件也是可以是自定义的任意属性组合~ 这些我们以后遇到具体问题再加以介绍~
Pre-checking对一个良好的Installer来说非常重要,那种写在Readme.txt里的真不如冒昧的弹出个对话框!用户都希望把问题解决在萌芽之中,而不是事后截图,发帖子在你的产品支持论坛里~