更新安装澳门赛马会主页赛期表的最新客户端,,,

IIS 8.5 详细错误 - 404.0 - Not Found
HTTP 错误 404.0 - Not Found
您要找的资源已被删除、已更名或暂时不可用。
最可能的原因:
指定的目录或文件在 Web 服务器上不存在。
URL 拼写错误。
某个自定义筛选器或模块(如 URLScan)限制了对该文件的访问。
可尝试的操作:
在 Web 服务器上创建内容。
检查浏览器 URL。
创建跟踪规则以跟踪此 HTTP 状态代码的失败请求,并查看是哪个模块在调用 SetStatus。有关为失败的请求创建跟踪规则的详细信息,请单击。
详细错误信息:
模块&&&IIS Web Core
通知&&&MapRequestHandler
处理程序&&&StaticFile
错误代码&&&0x
请求的 URL&&&http://www.gaotang.cc:80/abcehfki/U9J/
物理路径&&&E:\Web\gaotang\abcehfki\U9J\
登录方法&&&匿名
登录用户&&&匿名
此错误表明文件或目录在服务器上不存在。请创建文件或目录并重新尝试请求。2172人阅读
一、自动更新的实现
让客户端实现自动更新,通常做法是在客户端部署一个单独的自动更新程序。主程序启动后,访问服务端,检查配置文件是
否有更新版本,有更新版本就启动更新程序,由更新负责下载更新版本,并更新客户端程序,流程如下:
当流程进行到红色部分的是后就调用更新程序进行更新。
1)版本判断:
客户端和服务端都部署同一个版本文件,客户端登陆时发送验证给服务端判断版本是否一致。
Version.xml代码
&iq xmlns=&/xmtp& from=&*@domcool.local/updater& to=&*@domcool.local/updater& type=&get&id=&508f3e88-4bb0--cc41ef57fef3&&
&query xmlns=&/xmtp/disco#update& version=&& lastUpdateTime=&&fileUrl=&
x xmlns=&/xmtp/item&&
&/iq&版本文件主要比较服务端Version.xml文件和客户端Version.xml文件中Version(版本号)是否一致,如果服务端Version属性大于客户端的Version属性,则通过服务端的fileUrl属性获取新版本的下载地址。供更新程序使用。 2)删除原有更新包所有客户端更新文件均下载到C:\Documents and Settings\当前用户名\Local Settings\Temp 文件夹内,当客户端运行后首先判断是否有新更新包需要下载,如果没有则判断该临时文件夹内是否有旧有安装文件,如果存在,则删除旧有安装文件。private void RemoveOldSetupFile()
string temp = System.Environment.GetEnvironmentVariable(&TEMP&);
string folder = new DirectoryInfo(temp).FullN
if (File.Exists(folder + @&\& + setupName + &.exe&))
File.Delete(folder + @&\& + setupName + &.exe&);
if (File.Exists(folder + @&\& + setupName + &.msi&))
File.Delete(folder + @&\& + setupName + &.msi&);
备注:关于获取系统特殊文件夹的方法见博客
3)启动下载程序
下载程序和客户端程序是相互独立的,可以通过客户端开启新线程启动下载程序。下载程序在文件下载结束后可以关掉客户端程序,
并开启新线程启动安装程序进行安装。
private void Update()
if (ShouldUpdate(query.Version, this.version))
MessageBox.Show(&请更新客户端文件到版本[& + query.Version + &]&, &更新提示&, MessageBoxButtons.OK,MessageBoxIcon.Asterisk);
System.Diagnostics.Process.Start(Application.StartupPath + @&\AutoUpdater.exe&, query.FileUrl);
else { RemoveOldSetupFile(); }
private bool ShouldUpdate(string serverVersion, string localVersion)
if (!string.IsNullOrEmpty(serverVersion) && !string.IsNullOrEmpty(localVersion))
return </pareTo(localVersion) & 0;
return true;
} 调用AutoUpdater.exe文件时需要传入文件下载地址。System.Diagnostics.Process.Start(Application.StartupPath + @&\AutoUpdater.exe&, query.FileUrl); 4)下载程序代码下载程序界面 using S
using System.Collections.G
using </ponentM
using System.D
using System.D
using System.T
using System.Windows.F
using System.N
using System.IO;
using System.T
using System.D
namespace AutoUpdater
public partial class MainForm : Form
private WebClient
private string URl;
private string fileN
private string
private const string applicationFile = &Setup&;
public MainForm(string url)
InitializeComponent();
this.URl =
client = new WebClient();
client.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_DownloadProgressChanged);
client.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileCompleted);
client.Proxy = WebRequest.DefaultWebP
client.Proxy.Credentials = new NetworkCredential();
this.Hide();
//Thread thread = new Thread(UpdateFile);
//Thread.Sleep(15000);
//thread.Start();
UpdateFile();
public MainForm()
InitializeComponent();
/// &summary&
/// 下载完成调用
/// &/summary&
/// &param name=&sender&&&/param&
/// &param name=&e&&&/param&
void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
label1.Text = &文件接收完成&;
RunUpdate();
/// &summary&
/// 下载进度条
/// &/summary&
/// &param name=&sender&&&/param&
/// &param name=&e&&&/param&
void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
this.progressBar1.Value = e.ProgressP
/// &summary&
/// 开始下载
/// &/summary&
private void StartDownload()
fileName = URl.Substring(URl.LastIndexOf(&/&) + 1, URl.Length - URl.LastIndexOf(&/&) - 1);
path = GetTempFolder();
WebRequest myre = WebRequest.Create(URl);
catch (Exception ex)
MessageBox.Show(ex.Message, &Error&);
label1.Text = &开始下载文件...&;
client.DownloadFileAsync(new Uri(URl), path + @&\& + fileName);
catch (WebException exp)
label1.Text = exp.M
/// &summary&
/// 解压压缩包,格式必须是*.zip,否则不能解压
/// 因为是调用Windows内部api进行解压,只能够识别zip压缩包
/// 必须添加C:\WINDOWS\system32\shell32.dll的引用
/// &/summary&
private void UnZip()
Shell32.ShellClass sc = new Shell32.ShellClass();
Shell32.Folder SrcFolder = sc.NameSpace(this.path + @&\& + this.fileName);
Shell32.Folder DestFolder = sc.NameSpace(this.path);
Shell32.FolderItems items = SrcFolder.Items();
DestFolder.CopyHere(items, 20);
catch (Exception ex)
MessageBox.Show(ex.Message);
/// &summary&
/// 获取下载文件夹地址及解压文件存放地址
/// 此地址默认为C:\Documents and Settings\当前用户名\Local Settings\Temp 文件夹
/// &/summary&
/// &returns&&/returns&
private string GetTempFolder()
string folder = System.Environment.GetEnvironmentVariable(&TEMP&);
return new DirectoryInfo(folder).FullN
/// &summary&
/// 开始下载文件
/// &/summary&
private void UpdateFile()
this.Hide();
//如果临时文件夹存在setup安装文件,就直接调用安装文件
if (File.Exists(GetTempFolder() + @&\& + applicationFile + &.exe&) && File.Exists(GetTempFolder() +@&\& + applicationFile + &.msi&))
label1.Text = &开始下载文件...&;
this.progressBar1.Value = this.progressBar1.M
label1.Text = &文件接收完成&;
RunUpdate();
//如果临时文件夹不存在setup安装文件,就从网络下载
RemoveSetupFile();
StartDownload();
/// &summary&
/// 清除旧有已下载的安装文件
/// &/summary&
private static void RemoveSetupFile()
string temp = System.Environment.GetEnvironmentVariable(&TEMP&);
string folder = new DirectoryInfo(temp).FullN
if (File.Exists(folder + @&\& + applicationFile + &.exe&))
File.Delete(folder + @&\& + applicationFile + &.exe&);
if (File.Exists(folder + @&\& + applicationFile + &.msi&))
File.Delete(folder + @&\& + applicationFile + &.msi&);
/// &summary&
/// 下载完毕,开始执行更新程序
/// &/summary&
private void RunUpdate()
foreach (Process p in Process.GetProcesses())
if (p.ProcessName.ToLower().StartsWith(&uccompanion&))
if (MessageBox.Show(&UCCompanion正在运行,是否关闭当前程序安装更新?&, &安装UCCompanion&,MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
Process.Start(GetTempFolder() + @&\& + applicationFile + &.exe&);
MessageBox.Show(&UCCompanion下载完成,将在下次启动时提醒更新!&);
catch (Exception ex)
MessageBox.Show(ex.Message);
this.Close();
/// &summary&
/// 重载WindProc判断点击关闭按钮(X)时,隐藏程序界面
/// &/summary&
/// &param name=&msg&&&/param&
protected override void WndProc(ref Message msg)
const int WM_SYSCOMMAND = 0x0112;
const int SC_CLOSE = 0xF060;
if (msg.Msg == WM_SYSCOMMAND && ((int)msg.WParam == SC_CLOSE))
this.Hide();
base.WndProc(ref msg);
/// &summary&
/// 双击图标弹出界面
/// &/summary&
/// &param name=&sender&&&/param&
/// &param name=&e&&&/param&
private void icon_notify_MouseDoubleClick(object sender, MouseEventArgs e)
this.Show();
this.WindowState = FormWindowState.N
/// &summary&
/// &/summary&
/// &param name=&sender&&&/param&
/// &param name=&e&&&/param&
private void MainForm_SizeChanged(object sender, EventArgs e)
if (this.WindowState == FormWindowState.Minimized)
this.Hide();
private void MainForm_Load(object sender, EventArgs e)
this.Hide();
static class Program
/// &summary&
/// 启动,接收传入网址作为参数
/// &/summary&
/// &param name=&agr&&&/param&
[STAThread]
static void Main(string[] agr)
if (agr.Length == 1 && agr[0].StartsWith(@&http://&))
MainForm form = new MainForm(agr[0]);
Application.Run(form);
将AutoUpdater项目生成的文件添加到客户端文件中,在客户端的Update()方法里调用updater,实现更新文件的下载。
以上就已经实现了自动更新功能,下面将讨论文件安装包的制作。
二、安装包的制作
1)创建安装项目
2)鼠标右击Setup项目选择&视图,可以看到制作安装包常见的视图有以下几个
最常用的视图有“文件系统”,“用户界面”和“启动条件”。
3)指定安装属性
鼠标左键单击项目名称,记住是左键单击,然后点击属性标签,注意:不是右击的属性
a.需要注意的是Version属性,每次版本更新时Version&#20540;必须后面的版本大于前面的版本。每次更改Version&#20540;时Projectcode会更改一次。
其中你修改安装项目的版本号时,比如从v1.00 到1.01,在你再次生成项目的时候,会提示你是否允许修改ProductCode,选择&是&,
程序会自动修改ProductCode,选择否将保持相同的ProductCode,即不能自动卸载旧的版本.
b.在以后版本中要确认和以前的版本两个版本有不同的ProductCode和相同的UpgradeCode
c.manufacturer属性指定制造商名称。
d.detectnewerinstalledversion属性选择为true,
e.removepreviousversions选择为true
鼠标左键单击项目名称,此次是右键单击,然后点击属性,弹出属性页,选择“系统必备”。
在打开的系统必备页中,选中如下中的选择项,这个很重要!!!!!1!!!!!选上以后,在生成的安装文件包中
包含.netframework组件.(这个选项默认是没有选中的)。
4)文件系统视图
文件系统视图左侧根目录树下有3个子节点。
a.应用程序文件夹:将所有待打包的应用程序的可执行文件和相应的类库和组件拖动到该目录下。该目录可以创建子
目录,项目安装完毕以后的文件夹结构会和该目录下结构一致。
然后右击左边的&应用程序文件夹&打开属性对话框,修改文件释放路径,[ProgramFilesFolder][Manufacturer]\[ProductName]。
安装程序默认安装目录会是&c:\programm file\制造商名称\安装解决方案名称&;
b.用户的“程序”菜单和用户桌面:用于在开始菜单创建文件快捷方式
在应用程序文件夹中将需要生成的快捷方式的文件添加快捷方式并拖动到用户的“程序”菜单和用户桌面
c.添加文件卸载功能
在添加你的应用程序项目的时候,多添加一个msiexec.exe进去,这个文件在c:\windows\system32文件夹下。
为其在程序菜单添加一个快捷方式,把他的名字改成&Uninstall.exe&,指定Icon快捷方式显示的图标。然后下面我们
要的做的就是查找这个部署项目的ProductCode了,鼠标左键单击项目名称,记住是左键单击,然后点击属性标签,注意:
不是右击的属性,这个区别很大,这时你就可以看到ProductCode了
然后打开你创建的那个卸载程序的快捷方式的属性对话框,在Aguements属性中输入&/x {ProductCode}&
5)用户界面视图
在“欢迎使用”后,“安装文件夹”前添加“许可协议”对话框。
licensefile选择协议,协议的&#26684;式为rtf。
6)启动条件视图
为启动安装程序制定最低framework要求。
7)实现安装、卸载过程中的其他额外的操作。比如安装结束后启动程序,卸载程序后同时删除网络下载打安装包等功能。
a.新建一个空的项目InstallCompenent,步骤为:解决方案-&右键添加-&新建项目-&选择&空项目&-&
输入名称&InstallCompenent&-&确定,完成项目的添加.
b.在InstallCompenent项目中右键-&添加-&新建项-&选择安装程序类-&输入名称&Installer&,完成installer类的添加.
修改代码为:
using System.C
using System.Collections.G
using </ponentM
using System.Configuration.I
using System.R
using System.IO;
namespace InstallCompenent
[RunInstaller(true)]
public partial class UccompanionInstaller : Installer
private const string zipPacket = &UCCompanionSetup(0918).zip&;
/// &summary&
/// 应用程序入口
/// &/summary&
public static void Main()
/// &summary&
/// 构造函数
/// &/summary&
public UccompanionInstaller()
InitializeComponent();
/// &summary&
/// 重写安装完成后函数
/// 实现安装完成后自动启动已安装的程序
/// &/summary&
/// &param name=&savedState&&&/param&
protected override void OnAfterInstall(IDictionary savedState)
base.OnAfterInstall(savedState);
Assembly asm = Assembly.GetExecutingAssembly();
string path = asm.Location.Remove(asm.Location.LastIndexOf(&\\&)) + &\\&;
System.Diagnostics.Process.Start(path + &\\UCCompanion.exe&);
/// &summary&
/// 重写安装过程方法
/// &/summary&
/// &param name=&stateSaver&&&/param&
public override void Install(IDictionary stateSaver)
base.Install(stateSaver);
/// &summary&
/// 重写安装之前方法
/// &/summary&
/// &param name=&savedState&&&/param&
protected override void OnBeforeInstall(IDictionary savedState)
base.OnBeforeInstall(savedState);
/// &summary&
/// 重写卸载方法
/// 卸载程序后也删除程序的安装包
/// &/summary&
/// &param name=&savedState&&&/param&
public override void Uninstall(IDictionary savedState)
string temp = System.Environment.GetEnvironmentVariable(&TEMP&);
string folder = new DirectoryInfo(temp).FullN
if (File.Exists(folder + @&\setup.exe&))
File.Delete(folder + @&\setup.exe&);
if (File.Exists(folder + @&\setup.msi&))
File.Delete(folder + @&\setup.msi&);
if (File.Exists(folder + @&\&+zipPacket))
File.Delete(folder + @&\&+zipPacket);
base.Uninstall(savedState);
/// &summary&
/// 重写回滚方法
/// &/summary&
/// &param name=&savedState&&&/param&
public override void Rollback(IDictionary savedState)
base.Rollback(savedState);
c.在安装项目中右键-&添加项目输出-&选择&项目&-&InstallCompenent.完成主输出项目的添加.
d.打开自定义操作编辑器,在安装-&右键-&添加自定义操作-&选择&应用程序文件夹&-&选择&主输出来自InstallCompenent&,完成添加.
好了,点击“生成解决方案”,即可以生成带有卸载功能的安装程序了。
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:55637次
排名:千里之外
转载:15篇
(5)(6)(1)(1)(1)(6)(1)(2)五金电子冶金
机械设备与汽配
专利与标准
个性网址 []
最新加入亚洲娱乐ca88
加入小门户
生活百宝箱
(主要产品:)
(主要产品:)
(主要产品:)
(主要产品:)
(主要产品:)
(主要产品:)
(主要产品:)
(主要产品:)
(主要产品:)
(主要产品:)
小门户+亚洲娱乐ca88联盟
化工医药:
纺织服装:
建筑建材:
五金电子:
机械行业:
流体机械:
行业装备:
行业设备:
推荐生意圈
圈员数:124人
圈员数:113人
圈员数:165人
圈员数:491人
亚洲娱乐ca88频道头条
  迪亚拉:马里来的黑人中医
客服电话:5  客服邮箱:  您的当前位置:
醒目!战网客户端安装更新常见问题总结
作者:霜冻公爵来源:兔玩评论(0人参与)
&  最近测试服更新经常出现各种各样的问题,在此我们总结了客户端各种问题的解决方案。(测试服无法更新的解决方案在最下的Q4.5)
&  注意:beta测试服的越来越多,本文主要服务于得到beta账号的并且更新客户端出错的玩家,即将开放的国服测试相比也会有玩家遇到此类问题。
一、Agent安装:
  Q1.1:卡在【正在更新战网程序】或【正在更新安装文件】。
  1、请确保已开启Secondary Logon服务;
  2、请尝试删除Battle.net文件夹;
  3、关闭后台应用程序/防火墙;
  4、安装模式下安装;
  5、优化网络连接;
  6、更新Adobe Flash Player;
  7、清理注册表(尝试通过其他工具对注册表冗余项进行清理)。
  若在该过程中出现其他问题,请参考:Agent常见问题
二、战网客户端安装:
  Q2.1:在打开一份文件时出错了。如果您的互联网连接正常,您可能需要从战网页面下载该游戏。
  1、请尝试删除Battle.net文件夹;
  2、请确保通过正确途径获取安装程序,拥有内测资格的用户可以在 游戏客户端下载页面获取到最新的安装文件(需登录战网)。
  Q2.2:卡在【正在安装战网...(x%)】
  A:该过程需保持网络连接,若长时间卡在该阶段请尝试优化网络连接。
  删除临时文件(清空Temp文件夹)也可能可以解决该问题。
  路径:C:\Users\您的用户名\AppData\Local\Temp
  注:需开启显示隐藏文件,文件夹。
三、魔兽/炉石/星际 游戏客户端安装:
  Q3.1:下载速度慢或无速度
  如果下载器正在下载一个补丁,但您感觉传输速度很慢,我们首先给您的建议就是耐心等待。这是由于官方下载器需要花费一段时间来为传输数据做必要的连接。如果您在10到15分钟后,依然觉得下载很慢,那么请尝试如下步骤:
  关闭后台应用程序
  启用/禁用 p2p下载
  通过点击设定按钮,或左上角战网图标&设定-游戏安装/更新,可设定下载器偏好。
  优化网络连接
  关闭防火墙
  - 如果您安装了防火墙,请查看它是否允许从端口
中建立连接。如果您的防火墙未被列入名单或您想取得更多帮助,请参考您的防火墙文件指南,或联系制造商。
  - 重要提示:请注意,大部分防火墙在禁用时,都会有严格的要求。请确定您安装的防火墙配置合理,以使得下载器有效运行。
  路由器
  - 确定路由器仅在您的电脑上开放, 和 6881 -
6999的端口。超过1台机器,连接相同的端口可能会导致该下载缓慢问题的出现。更多的关于路由器连接端口的信息和指导请点击这里,访问我们的下载器连接帮助页面(路由器部分)。
  流氓软件/间谍软件/病毒扫描
  - 您系统中的流氓软件/木马/病毒扫描也可能导致这些问题。使用最新的反病毒反木马软件对您的电脑进行一次全盘扫描。
四、安装后问题:
  Q4.1:BLZBNTBGS3)
  无法连接到战网服务(一些游戏和功能无法使用|您在游戏期间可能会被提示重新登录)
  A:该情况是由于网络问题导致,请尝试:优化网络连接
  Q4.2:BLZBNTBGS)
  我们不能让您用刚才输入的信息进行登录。
  A:请核对您输入的帐号密码是否有误!
  Q4.3:BLZBNTAGT00000AF0
  该文件夹未包含该游戏的正确版本,请检查安装路径再重试。
  A:打开游戏标签,点击【安装】按钮,右方下放的【找到游戏安装位置】,重新指定游戏路径。
  重要:在弹出的对话框中,点击确定前,请确保文件夹显示是游戏安装文件夹,而不是游戏文件夹内的其他文件夹(如wtf,data等)。
  Q4.4:BLZBNTBGS000001FFF
  无法登陆至战网服务
  A:由于战网账号信息中,居住地或其他信息遗失导致的无法登陆。请寻求官方客服协助。
  Q4.5:BLZBNTAGT(常见于测试服更新)
  我们在传输的时候遇到一个问题,我们正在尝试修复它.
  结束Agent.exe,删除位于C:\ProgramData下的Battle.net文件夹,重新运行Battle.net,选择安装游戏(不要选择已经存在游戏,选择路径的选项),然后在安装路径选择原安装路径即可。
  这里需要注意的是选择文件夹时要选之前安装客户端目录的上级目录,否则将会在之前安装客户端下创建子目录,就需要把整个26G客户端完整下了而不是更新了。
兔玩网出品《魔兽伴侣》魔兽玩家首选APP!陪你畅游6.0!
标签:技术宅资深DK真!菊苣
兔玩第一技术宅,为人低调,做事诚恳。在他的手上没有做不出来的程序。兔玩网魔兽世界测试服助手、风暴英雄助手插件制作者;斗鱼弹幕玩游戏创始人!
军团再临副本攻略
兔玩网魔兽世界精品
魔兽世界新闻排行
魔兽世界视频502 Bad Gateway
502 Bad Gateway - Cann't Connect To Upstream Server
Fikker/Webcache/3.6.6

我要回帖

更多关于 澳门赛马会主页赛期表 的文章

 

随机推荐