Silverlight创建桌面客户端应用程序独立安装包(同时打包Silverlight运行时和Xap应用程序文件)
来源:互联网 发布:极客学院 python 编辑:程序博客网 时间:2024/05/22 03:35
Silverlight创建桌面客户端应用程序独立安装包(同时打包Silverlight运行时和Xap应用程序文件)
有时我们需要创建客户端应用或者是不需要联网的小程序,例如一个桌面小游戏,你想发给你的好友。使用Winform或者wpf,用户需要安装30多M的.net框架。然而我们使用Silverlight这个精简框架作为.net运行时,打包后的应用程序就小的多。拿我打包的这个汉诺塔小游戏来说,全部打包后只有6M多,其中xap文件只有32K,其他是Silverlight 5安装程序。这样,用户只需双击我们的打包后的安装程序,就会自动创建程序的桌面和开始菜单的快捷方式,用户感觉像是在使用winform应用程序。
打包的汉诺塔源程序来自Aimeast的【Silverlight】汉诺塔游戏,带AI 一文
制作步骤:
1、下载并安装打包程序NSIS,这是一个开源的打包程序。下载地址:http://nsis.sourceforge.net/Main_Page
不同于VS的安装项目,NSIS是基于脚本创建打包程序的。
2、让我们的Silverlight应用程序支持OOB。在工程属性中如下设置:
3、创建一个Setup目录,目录中包含如下文件:
其中AnyHanoi.xap是Silverlight的汉诺塔小游戏,setup.nsi是nsis的安装脚本,silverlight.exe是Silverlight5安装程序,splash.bmp用于在安装时显示一张图片。
4、制作安装脚本
用记事本打开setup.nsi文件,输入以下内容并保存:
Name "Silverlight汉诺塔小游戏"OutFile "SlAnyHanoi.exe"InstallDir "$PROGRAMFILES\SLAnyHanoi"XPStyle onFunction .onInit # the plugins dir is automatically deleted when the installer exits InitPluginsDir File /oname=$PLUGINSDIR\splash.bmp "splash.bmp" splash::show 1000 $PLUGINSDIR\splash Pop $0FunctionEndSection SetOutPath "$INSTDIR" SetOverwrite ifnewer File "Silverlight.exe" ExecWait "$INSTDIR\Silverlight.exe /q /doNotRequireDRMPrompt" File "AnyHanoi.xap" ExecWait '"$PROGRAMFILES\Microsoft Silverlight\sllauncher.exe" /install:"$INSTDIR\AnyHanoi.xap" /origin:"http://localhost/AnyHanoi.xap" /shortcut:desktop+startmenu'SectionEnd
大体意思是:以静默方式安装Silverlight运行时(如果已经安装了,这个过程会很快结束),然后通过sllauncher.exe(silverlight运行时自带)安装我们的应用程序,并创建快捷方式。
5、编译脚本,生成安装程序:
右键点击setup.nsi,选择"Compile NSIS Script",会在此目录下输出的安装程序:
SlAnyHanoi.exe就是我们要的,发给你的用户吧。
6、在没有安装Silverlight的XP虚拟机上测试,成功!
- Silverlight创建桌面客户端应用程序独立安装包(同时打包Silverlight运行时和Xap应用程序文件)
- Silverlight创建桌面客户端应用程序独立安装包(同时打包Silverlight运行时和Xap应用程序文件)
- silverlight 初始页面进行安装主应用(初始安装xap,本地加载xap),实现silverlight程序成桌面应用程序。
- Silverlight 2应用程序中XAP文件揭秘
- Silverlight 2应用程序中XAP文件揭秘
- 用VS2008打包应用程序为安装文件,同时将.NET Framework打包进去,可独立安装运行【转】
- Silverlight如何设置应用程序独立于浏览器运行
- Silverlight 理解.xap文件
- silverlight运行时出错:无法下载silverlight应用程序
- 强制客户端更新Silverlight XAP文件方法汇总
- 强制客户端更新Silverlight XAP文件方法汇总
- 强制客户端更新Silverlight XAP文件方法汇总
- 强制客户端更新Silverlight XAP文件方法汇总
- 读取silverlight程序形成的xap包中的文件
- Silverlight 动态加载XAP文件
- Silverlight应用程序和编程模型
- 如何减少silverlight XAP包的尺寸
- Silverlight 阻止xap包缓存处理
- 关于DataTable的赋值
- 关于XMPP即时通讯协议的使用
- 各种排序算法的稳定性和时间复杂度小结
- Codeforces 144D. Missile Silos 最短路
- 关于使用外部中断4进行miller2的思考
- Silverlight创建桌面客户端应用程序独立安装包(同时打包Silverlight运行时和Xap应用程序文件)
- 《鸟哥的linux私房菜 基础篇》第七章读书笔记(中)--常见档案内容查阅命令,chattr,lsattr,SUID,SGID,SBIT,file
- android与tomcat服务器交互实例
- Objective-C 关于内存管理的一些见解
- Python 中单引号、双引号和三双引号的区别
- WCDMA HSPA(3)
- CXImage的基本使用
- 各种排序算法比较
- 软件测试面试题及解析(九)