为VSTO加载项实现ClickOnce MVC5页面

时间:2015-02-20 17:01:17

标签: asp.net-mvc visual-studio-2012 clickonce

我有一个VSTO(Visual Studio 2012)Excel(2013)加载项,我想通过网页(也是VS 2012,asp.net MVC5)进行部署。 ClickOnce部署包是使用TFS构建生成的,并且可以从文件共享中正常工作,无论是最初还是更新。

我坚持使用网络部署方面。我已经尝试了cshtml页面和htm页面,并且setup.exe下载工作正常,但运行安装程序失败,因为身份验证以某种方式触发,并且未传递vsto内容(返回登录页面)。包含cshtml页面(ClickOnceSetup)操作的控制器使用[AllowAnonymous]进行修饰,并且我尝试了IgnoreRoute选项但没有成功。

有没有人有这种方法的工作方法?我发现的所有帖子或例子都没有把所有这些部分放在一起。

更新1(更多信息):使用IIS Express从网页部署可以正常工作 - 从网页和.vsto文件处理执行安装没有错误。从开发服务器运行相同的Web应用程序时,如果我单击setup.exe的链接并下载它,我会收到错误,即在downloads文件夹中找不到.vsto文件。如果不是下载,我选择运行setup.exe(在IE中),然后我有身份验证问题,来自"安装Office自定义"错误对话框: 来自:http://xxx.xxx.xxx.xxx/ExcelAddIn/ExcelAddInV4.vsto "来自http://xxx.xxx.xxx.xxx/Account.LogOn的异常阅读清单:清单可能无效或文件无法打开"
异常类型:System.Deployment.Application.InvalidDeploymentException

提前致谢, 鲁文

2 个答案:

答案 0 :(得分:1)

MSDN中的Deploying an Office Solution by Using ClickOnce文章介绍了为Office加载项创建ClickOnce安装程序所需的所有步骤。您也可以找到有用的Troubleshooting Office Solution Deployment文章。

答案 1 :(得分:1)

我能够解决这种方法的问题:

  1. 在Visual Studio和TFS构建发布点到UNC文件共享

  2. 构建之后,我使用mage.exe使用网站URL更新生成的文件(vsto和manifest)中的发布路径。 vsto文件也已签名。对于setup.exe,我使用-url命令行选项设置路径(在setup.exe本身上)

  3. 我将这些文件上传到镜像网址网址的ftp文件夹。

  4. 我的基本问题是需要为最终的网址配置部署的文件,但这需要在Visual Studio中构建/部署之后的一步。一旦我分离了这些步骤,并设置了如上所述的ClickOnce发布/安装位置,在我的MVC应用程序中链接到该URL中的setup.exe工作正常。