您的位置:首页 > 其它

Wix 安装部署教程(十) --来,用WPF做个漂亮的安装界面

2015-05-25 08:05 351 查看
在上一篇中曾留下两个问题,.Net捆绑安装不触发以及路径选择的问题现在都已经解决,这段时间花的最多的地方还是WPF调样式上面,奈何WPF功力不够,暂时还是没有达到自己想要的效果。另外ViewModel做了些调整,状态更加分明。安装效果是仿照搜狗输入法做的。先上效果图。

<Fragment>
<util:RegistrySearchRef Id="NETFRAMEWORK40"/>
<PackageGroup Id="Netfx4Full">
<ExePackage
Id="Netfx4FullExe"
Cache="no"
Compressed="yes"
PerMachine="yes"
Permanent="yes"
Vital="yes"
SourceFile="$(var.Dia)dotNetFx40_Full_x86_x64.exe"
InstallCommand="/q /norestart "
DetectCondition="NETFRAMEWORK40"
DownloadUrl="http://go.microsoft.com/fwlink/?LinkId=164193"/>
</PackageGroup>
<util:RegistrySearch Root="HKLM" Key="SOFTWARE\Microsoft\DevDiv\VC\Servicing\9.0\RED\1033" Value="SP" Variable="vcredist" />
<PackageGroup Id="vcredist">
<ExePackage Id="vcredist_x86"
Cache="no"
Compressed="yes"
PerMachine="yes"
Permanent="yes"
Vital="yes"
Name="vcredist_x86.exe"
SourceFile="$(var.Dia)vcredist_x86.exe"
DownloadUrl="http://www.microsoft.com/zh-cn/download/confirmation.aspx?id=5638"
InstallCommand="/q"
DetectCondition="vcredist AND (vcredist >= 1)">
<ExitCode Value ="3010" Behavior="forceReboot" />
</ExePackage>
</PackageGroup>
<!-- Windows Installer 4.5 -->
<PackageGroup Id="WindowsInstaller45">
<ExePackage
Cache="no"
Compressed="yes"
PerMachine="yes"
Permanent="yes"
Vital="yes"
SourceFile="$(var.Dia)WindowsXP-KB942288-v3-x86.exe"
DownloadUrl="http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/WindowsXP-KB942288-v3-x86.exe"
InstallCondition="VersionNT=v5.1 AND NOT VersionNT64 AND VersionMsi < v4.5"
InstallCommand="/quiet /norestart">
<ExitCode Behavior="forceReboot"/>
</ExePackage>
<ExePackage
Cache="no"
Compressed="yes"
PerMachine="yes"
Permanent="yes"
Vital="yes"
SourceFile="$(var.Dia)WindowsServer2003-KB942288-v4-x86.exe"
DownloadUrl="http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/WindowsServer2003-KB942288-v4-x86.exe"
InstallCondition="VersionNT=v5.2 AND NOT VersionNT64 AND VersionMsi < v4.5"
InstallCommand="/quiet /norestart">
<ExitCode Behavior="forceReboot"/>
</ExePackage>
<ExePackage
Cache="no"
Compressed="yes"
PerMachine="yes"
Permanent="yes"
Vital="yes"
SourceFile="$(var.Dia)WindowsServer2003-KB942288-v4-x64.exe"
DownloadUrl="http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/WindowsServer2003-KB942288-v4-x64.exe"
InstallCondition="VersionNT=v5.2 AND VersionNT64 AND VersionMsi < v4.5"
InstallCommand="/quiet /norestart">
<ExitCode Behavior="forceReboot"/>
</ExePackage>
<MsuPackage
Cache="no"
Compressed="yes"
Permanent="yes"
Vital="yes"
KB="KB942288"
SourceFile="$(var.Dia)Windows6.0-KB942288-v2-x86.msu"
DownloadUrl="http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/Windows6.0-KB942288-v2-x86.msu"
InstallCondition="VersionNT=v6.0 AND NOT VersionNT64 AND VersionMsi < v4.5"/>
<MsuPackage
Cache="no"
Compressed="yes"
Permanent="yes"
Vital="yes"
KB="KB942288"
SourceFile="$(var.Dia)Windows6.0-KB942288-v2-x64.msu"
DownloadUrl="http://download.microsoft.com/download/2/6/1/261fca42-22c0-4f91-9451-0e0f2e08356d/Windows6.0-KB942288-v2-x64.msu"
InstallCondition="VersionNT=v6.0 AND VersionNT64 AND VersionMsi < v4.5"/>
</PackageGroup>
</Fragment>


View Code
小结

QQ,搜狗,UC,360等等这些互联网巨头的安装包都蛮炫酷的,对卸载和升级都做的很细致精美,很多效果我想WPF是可以做到的,但是现在有些效果我还没有成功实现:

1.炫彩滚动的进度条,想到用渐变,但效果不理想也就没有放上来。如果是css3,那是很好写的。像这些效果-->猛击



2.图片滚动。像Web里面的Slider一样,在显示进度条的时候放个三张介绍图片来回切换。这个我找到了一个Demo,还没有套用到这个安装包中。

3.安装软件的时候,用户需要打开用户许可或者安装向导,而这个除了用官网的网址,我想用文件来展示,比如html、txt。一般的WPF程序,复制到输出目录就可以了,但是在安装包中需要打开dll资源中的文件,这个不知道大家有什么办法。

比如我的根目录下有一个文件,InstallGuid.Html文件。生成操作为Resource。





在Hyperlink的事件中用

Process.Start(new ProcessStartInfo(filepath));


打开这个文件,写相对路径是会报错找不到文件。

以上三个问题,如有知道的园友还请不吝指教下。

需要Demo的同学 http://pan.baidu.com/s/1bntxKsB

我喜欢看书,也喜欢分享书籍(不限技术书籍),建了一个书山有路群,诚邀有兴趣的朋友加入q:452450927



书山有路一起走,学海无涯是朋友。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: