我用ClickOnce发布了一个客户端程序到本机的IIS上(通过路由器的端口映射发布),后来又设置了.net framework 3.5 sp1,
并设为从与本服务器相同的目录中下载3.5sp1,然后将客户端和框架都发布到本机的IIS上,
但问题出现了:
当局域网内的无安装框架用户访问安装时,可以成功从IIS下载并安装框架,
但局域网外的无安装框架用户却不能下载框架,查看了错误信息,发现程序指向的
下载地址竟然为:
http://jzl-pc:8060/pldaclient....
而不是:
http://118.228.***.***:8060/pldaclient...
可见,安装程序一直访问的都是我的主机名,所以局域网内用户可以成功访问,而外网用户却不能解析地址,自然下载不到框架,但我始终不能在发布清单和程序清单中找到jzl-pc这几个字母,
后来我用Resource Hacker打开根目录下的发布程序setup.exe,竟然搜到了jzl-pc,
这应该能说明问题了,VS发布程序时把我的主机名打包进了setup.exe,所以才导致外网无法解析访问,
不知道这是不是一个Bug,又该怎么解决呢?
因为我需要先发布到主机上,然后再拷到其他计算机(目录主机IP地址未知)的IIS服务器上。