问题描述
通过ClickOne部署Winform程序后,用户需要到指定的URL点击运行(设置成为了只允许联机启动),但是,因为大家都知道的证书过期问题,我去掉了证书,点击运行会弹出好几次的对话框提示是不是要运行,请问可否写一个绿色exe程序,直接静默运行远程URL的.sertup文件,用户只需要双击一下这个exe启动程序,就可以打开程序,不需要额外操作?其他的无需多讲,程序员面对的奇葩客户永远不会绝迹
解决方案
本帖最后由 niss 于 2015-12-22 15:41:20 编辑
解决方案二:
.net只要拷贝就可以运行了,不需要安装什么东西。那么你可以第一次才使用clickonce,以后的更新,都是自己实现。你可以把编译好的应用城的的bin/release目录下的文件进行rar压缩,设置为exe自解压格式,自动是放在临时文件夹里,自动执行释放出来的setup.exe程序。这样,压缩出来的文件(假设叫做mycrm.exe)放到公网的某个地方(例如公共网盘),随时提供http下载即可。(为了方便比对版本更新,你还可以在这个文件的相同地方放一个mycrm.version.txt文本文件,里边写上版本号。然后,你的应用程序可以自动下载这个txt文件,判断是否需要更新。一旦需要更新,就下载exe文件,启动它,然后立刻kill掉自己。你的setup.exe文件可以跟应用程序放在同一个解决方案中(这样就能编译并生成在一起)。它就是两个事儿,一个就是从当前所在的目录下,把所有文件(除了setup.exe文件本身)拷贝到目标文件,然后再次启动你的应用程序。这样,仅仅需要第一次安装时使用clickonce,因为它可以自动安装.netframework等等。然后以后的更新动作,都是可以全自动的了,用不着人工点击任何按钮。实际上,程序员自己动手开发点维护用的软件,自己用,不要总要找现成的。
解决方案三:
这个setup.exe里边只有两件事儿,只有不到5、6行代码。我想只要是目标明确,具体编程就不用多讲了吧。