ClickOnce部署是一种简化的安装方式,它允许将.NET Windows应用程序部署在服务器上或网站空间中,使得应用程序可以在线更新。当应用程序有新版本发布或进行了某些修改时,Windows应用程序将自动更新。本文的目的是确保在不安装FrontPage服务器扩展的情况下,使用Visual Studio进行ClickOnce部署,以避免用户遇到以下错误信息:
"无法创建网站''. 未安装与FrontPage服务器扩展通信的组件。"
因此,需要使用FTP而不是HTTP地址在发布文件夹位置部署应用程序。
首先,需要在服务器上创建一个具有完全权限(读取、写入等)的FTP文件夹。可以使用Windows内置功能或第三方FTP软件来创建它。Windows应用程序将与所有文件和可执行文件一起在这里物理部署。在D盘创建了一个名为'VisionWindows'的文件夹,并为其提供了完整的FTP访问权限,通过用户ID和密码进行访问。
接下来,需要在IIS服务器上创建一个虚拟目录。需要在默认网站或主页网站上创建虚拟目录。在默认网站中创建了一个名为'VisionWindows'的虚拟目录,并将其指向物理路径'D:\VisionWindows',这也是FTP文件夹。可以在下面的图片中看到它:
<img src="path_to_image" alt="IIS虚拟目录设置">
最重要的是,需要为指向虚拟目录的文件夹授予完全权限的IIS_User权限,或者将要部署应用程序到该文件夹。
使用C#和Visual Studio2010创建了一个Windows应用程序。要使用Visual Studio 2010将应用程序部署到服务器,请按照以下步骤操作:
右键单击项目解决方案,进入“属性”,然后点击底部侧边菜单中的“发布”按钮,如下图所示:
<img src="path_to_image" alt="发布按钮位置">
从属性窗口中,点击发布按钮后,选择“应用程序也可以离线使用”。应用程序文件、先决条件、更新等将由应用程序自动选择,不需要担心这些按钮。如果愿意,可以修改发布版本。
从这里开始,需要启动发布向导。所以点击发布向导按钮。
点击发布向导后,将打开一个新窗口,需要提供FTP文件夹目录的路径,如下图所示,然后点击“下一步”按钮。
<img src="path_to_image" alt="发布向导路径设置">
另一个新窗口将打开,在这里需要指定应用程序的安装路径。这是设置文件将在服务器上部署的路径,用户将访问相同的路径以安装应用程序或访问install.htm文件进行安装。下面的截图是关于指定安装路径的:
<img src="path_to_image" alt="指定安装路径">
点击4.3中提到的“下一步”按钮后,需要指定应用程序模式,即应用程序是否可以在在线/离线模式下工作。建议选择“是的,这个应用程序可以在线/离线使用”。然后点击下图中提到的“下一步”按钮:
<img src="path_to_image" alt="应用程序模式选择">
下一个窗口将是“准备发布”,在这里可以看到前一个屏幕中提到的路径和URL,用于审查目的。然后点击“完成”按钮。
在这里,应用程序将开始构建,构建成功后,系统将要求提供FTP文件夹的凭据,如下图所示,只需提供详细信息并选择“使用被动模式连接”,然后点击“确定”按钮以发布应用程序,可以参考下图:
<img src="path_to_image" alt="FTP文件夹凭据">
在提供FTP文件夹的凭据后,应用程序将开始发布,可以在Visual Studio底部的输出窗口中检查发布状态。发布成功后,将获得应用程序的安装路径,如下所示:
http://yoursite.com/VisionWindows/install.htm