部署XBAP应用程序?

abm*_*bmv 0 deployment wpf xbap full-trust

我们有一个WPF应用程序,它有两种风格,具有一致的UI等,一个从Windows操作系统桌面运行,另一个应该作为XBAP应用程序运行.

目前我正在将XBAP应用程序发布到我的localhost机器IIS(Windows XP专业版),同时我已经在我的场景中启用了完全信任,因为它需要(Microsoft .NET Framework 2.0配置,URL完全信任)+ pfx文件(用于我的机器)当另一台机器上的用户从他的机器上的IE浏览器输入URL时安装的名称).

假设我想将XBAP应用程序卖给客户,因为他想要一个集中的应用程序而不是桌面应用程序,那么我将如何进行呢?有XBAP部署经验的人能告诉我吗?我应该进行设置以在他的Web服务器上设置应用程序,那就是它吗?(假设网络服务器有.net 3.5 sp1)如果pfx和完全信任,我应该告诉他这样做吗?

Dav*_*d H 6

我曾在类似的情况下使用ClickOnce作为引擎来将二进制文件部署为XBAP以及标准WPF.要在客户站点安装XBAP网站,我们将有一个安装程序在IIS中创建虚拟目录,然后运行自定义步骤来签署ClickOnce清单.此步骤是必需的,因为应用程序需要访问包含有关客户环境的信息的生成配置文件.

以下是我在使用XBAP时遇到的问题的一些注释.

  • 框架v3.0或更高版本在客户端工作站上的依赖关系.(更多关于处理WPF的一般说明,除非您使用受控桌面,否则您可能还必须部署它)
  • 令人费解的是,用户的ClickOnce缓存将无效,要求用户必须使用以下内容清除缓存:rundll32%windir%\ system32\dfshim.dll CleanOnlineAppCache
  • Framework v3.0/Internet Explorer安装不正确需要重新创建用户的配置文件,重新安装dotNet框架或重新安装Internet Explorer.
  • 部署失败时,ClickOnce的错误消息很少.很多时候它会报告一般的部署异常,修复程序将是上述步骤之一.
  • 在网站前使用任何身份验证时,例如ASP.Net表单身份验证,IIS受信任(不在Intranet上)或ISA之类的代理,Microsoft堆栈中存在一个问题,即IE无法将身份验证传递给ClickOnce引擎.问题是,IE将成功进行身份验证,但无法将安全上下文传递给ClickOnce.当ClickOnce尝试部署应用程序文件时,它将没有安全上下文,并且身份验证将失败.但是,如果您转到Internet选项 - >安全 - >选择'本地Intranet' - >单击'自定义级别...'您将看到设置列表.滚动到列表底部,然后在用户身份验证 - >登录 - >下,确保选中"使用当前用户名和密码自动登录"选项.这应该允许IE一旦应用程序将身份验证信息传递给单击.