我一直在使用VS 2015开发Outlook VSTO AddIn。我注意到VSTO ClickOnce部署的发布选项与通过ClickOnce部署的常规应用程序的发布选项不同。具体来说,我需要能够允许将URL参数传递给应用程序,并且此选项在VSTO发布选项中不可用。
我尝试使用MageUI来启用URL参数,但它总是导致我得到计算的哈希错误,即使我将MageUI首选项设置为使用SHA256(这是签名证书使用的)。
如果我只是使用VS 2015发布并避免使用MageUI,则可以安装部署,但显然它不会从部署URL接收任何查询字符串参数。
我在这方面的斗智尽头,我真的可以使用一些帮助。我花了几天时间专门搜索Google和SO,但我没有找到任何解决方案来解决将URL参数传递给ClickOnce部署的VSTO的问题。提前谢谢!
答案 0 :(得分:1)
查看How to pass arguments to an offline ClickOnce application上的这篇文章。
您可以使用查询参数将参数传递给应用程序:
System.Diagnostics.Process.Start(shortcutPath, argsToPass);
这是你读取参数字符串的方法:
//Get the ActivationArguments from the SetupInformation property of the domain.
string[] activationData =
AppDomain.CurrentDomain.SetupInformation.ActivationArguments.ActivationData;