我有一个.net cf3.5WindowsMobile应用程序,我的客户希望拥有自动访问功能。
以下是我到目前为止所拥有的:
2.获取应用程序版本号
Assembly.GetExecutingAssembly().GetName().Version.ToString();发布于 2009-04-15 23:05:34
您的解决方案一般是正确的,但有一些问题。
一个古老但仍然有效的资源是Alex的关于创建自更新应用程序的MSDN文章。
发布于 2009-09-23 00:30:49
我刚刚发布了WmAutoUpdate,一个.NET c#框架,它将在Compact上进行自动更新。它可以在Github:http://github.com/seboslaw/wmautoupdate上免费获得。
发布于 2009-08-18 09:18:38
没有必要创建一个专门的应用程序来更新,至少不是在WM 6上使用.netcf 3.5。我正在使用webservice下载.cab文件,然后启动一个新的进程并调用wceload来进行静默的cab安装。这将关闭我正在运行的应用程序,卸载它,然后按照这里的MSDN文档中所述的方式执行安装。
在WindowsMobileVersion5.0及更高版本中,当使用Wceload.exe重新安装.cab文件时,Wceload.exe会在安装新版本之前卸载以前安装的.cab文件版本。在此进程的卸载部分期间,Wceload.exe根据目标设备的文件名,关闭在目标设备上安装的任何当前正在运行的可执行文件。Wceload.exe还关闭作为文件操作目标的任何可执行文件,例如移动或副本。若要关闭可执行文件,Wceload.exe将WM_CLOSE发送到进程拥有的所有顶级窗口。如果进程在接收到WM_CLOSE消息后没有及时退出,那么Wceload.exe将通过调用TerminateProcess强制关闭它。Wceload.exe不尝试关闭目标设备上运行时映像中提供的可执行文件。
我还有一个cesetup.dll,用于在卸载过程中对文件进行额外的清理。
我遇到的最大问题是,在执行静默安装时,我无法更改我的应用程序的安装文件夹,而且它默认为.inf文件中的%installDir%属性。而为每一个想要更新的设备构建一个单独的.cab并不是一个很好的解决方案。
https://stackoverflow.com/questions/753851
复制相似问题