AppStart.exe | |
AppStart.config | AppStart.exe |
appupdater.dll | |
system.Resources.dll | |
mscorlib.Resources.dll | |
UpdateVersion.xml |
1. appupdaterAppStart.configAppStart.exe
2. Windows 2000 Server . Windows 2003 Server
3.
4.
| AppStart.exe | |
| AppStart.config | |
| ClientExe AppStart.configAppFolderName | |
|
| TrySmartClient.exe |
|
| appupdater.dll |
AppStart.config
ClientExe
TrySmartClient.exe
AppStart.config
ClientExe
AppStart.exe
TrySmartClient.exe
AppStart.exe
| UpdateVersion.xml | |
| Ver UpdateVersion.xmlApplicationUrl | |
|
| TrySmartClient.exe |
|
| mscorlib.Resources.dll |
|
| system.Resources.dll |
UpdateVersion.xml
6.0.0.0
http://YourServerDomainName/SmartServer/Ver/
UpdateVersion.xml
6.0.0.0
appupdater
http://YourServerDomainName/SmartServer/Ver/
appupdater
AutoFileLoad | :True |
ChangeDetectionMode | ServerManifestCheck |
UpdateUrl | http://YourServerDomainName/SmartServer/UpdateVersion.xml |
appupdater
AutoFileLoad = true //
ChangeDetectionMode ServerManifestCheck //UpdateUrl
UpdateUrl
.Net Framework 1.1 Windows2000.
appupdaterhttp://c2c.6688.com/updateDown/appupdater.rar
1.使用VS.NET生成一个新的Windows应用项目,命名为“SampleApp
2.
3.现在让我们给这个应用程序增加一个细微的功能,首先给你的窗体增加一个按钮。压缩文件中包含一个拥有简单Windows窗体的程序集。给压缩文件中Samples/SampleApp/SimpleForm
SimpleForm.Form 1 F = new SimpleForm.Form1();
F.Show();
4.将你的build标志从debug转换为RELEASE。这将允许我们避免稍后当我们生成一个应用程序的新版本而同时原始拷贝正在运行产生的pdb
第二步:添加.NET
在这一步我们将给SampleApp添加.NET
1.在VS.NET工具栏的组件标签上,右击选择“自定义工具栏”。选择‘.NET框架组件’标签。点“浏览”并选择位于压缩文件中AppUpdater项目下的AppUpdater.dll,单击OK
2. 一个AppUpdater图标现在应该出现在工具栏的组件列表的底部。将AppUpdater组件拖放到SampleApp窗体上。一个名为appUpdater1的.NET
第三步:设置.NET应用程序更新组件
在这一步我们将设置.NET
AppUpdater .NET Application
AutoFileLoad | true |
ChangeDetectionMode
| ServerManifestCheck |
ShowDefaultUI
| .NETtrue |
UpdateUrl
| UpdateUrlURL http://yourWebserver/SampleApp_ServerSetup/UpdateVersion.xml. Web”yourWebserver” |
Downloader AppUpdaterDownloader
DownloadRetryAttempts
| Webdownloaderdownloader |
SecondsBeteweenDownloadRety | |
UpdateRetryAttempts | |
ValidateAssemblies
|
Poller AppUpdaterPollerPoller
AutoStart
| Poller |
DownloadOnDetection | PollerDownloadUdpate() |
InitialPollInterval | |
PollInterval
| PollInterval30 |
Samples/SampleApp/SampleApp_Complete
V1
V1
SampleAppAssemblyInfo.csAssemblyVersion1.0 1.0.0.0.1.0. 0.0”VS.NET
1.
2. Samples/SampleApp/SampleApp_ClientSetupSampleApp_ClientSetupAppStart.exeAppStart.config 1.0.0.0SampleApp.exe
SampleAppreleaseSampleAppAppupdater.dllSimpleForm.dllSampleApp.exeSampleApp_ClientSetup/ 1.0.0.0
AppStart.exe
Web
Web.NETHTTP-DAVHTTP-DAVWebWindows 2000IIS5.0HTTP-DAV
1.从压缩文件中将Samples/SampleApp_ServerSetup目录拷贝到你的Web服务器上的wwwroot
2.为了完整,将SampleApp的V1版本拷贝到Web服务器的 1.0.0.0
3.在你的Web服务器上为SampleApp_ServerSetup目录启用IIS
OK,
1. SampleAppAppStart.exe
2. VS.NETSampleApp
3. AssemblyInfo.cs 2.0.0.0
4.
5. Web 1.0.0.02.0.0.0releaseWeb2.0.0.0
6. UpdateVersion.xmlAvailableVersion 2.0.0.0ApplicationURL2.0.0.0
7. UpdateVersion.xml
UpdateVersion.xml30SampleAppSampleAppYesSampleAppSampleApp 1.0.0.02.0.0.01.0.0.0
如果由于某种原因,你无法使得.NET应用程序更新器工作。在你深入调试之前确定以下几点,你遇到的问题很可能就是如下之一:
• 你是否将IIS目录浏览给打开了?如果没有,更新器将不会下载安装任何文件。
• 你是否正确的部署了一切并正确设置了URL?
• 如果你的应用程序安装在program files目录下,确定你是该机的超级管理员或超级用户吗?如果不是,你将不会有写权限来更新应用程序。
• 你是在应用程序的主用户界面线程中生成AppUpdater对象的吗?如果不是,更新器将不能显示用户界面并且在激发事件回到用户界面时失败。
• 是否更新成功,但应用程序使用新的更新自动重启时失败?.NET应用程序更新组件试图通过调用Application.Exit方法来重启应用程序。然而,该方法并不能保证关闭一个应用程序。如果你生成并遗留了单独的线程在运行,该方法就无法关闭进程。保证所有线程终止的解决的方案是通过调用Application.OnExit事件,或者挂钩.NET应用程序更新器的OnUpdateComplete事件并自己处理关闭。