是否可以通过Visual Studio(2017)打包(发布,构建)未签名的Microsoft Office插件(VSTO)?

时间:2019-05-13 22:27:54

标签: c# ms-office add-in office-addins

我想打包(在Visual Studio菜单中为“发布”)Microsoft Office Addin VTSO而不进行签名。

原因是我想使用其他需要未签名的可执行文件的数字签名服务器。

反正我们可以以未签名的身份发布(制作安装程序包)吗?

在Visual Studio 2017中,有项目属性。签名选项卡中包含该信息。复选框“签署ClickOnce清单”是默认选中的复选框,可以不选中。

但是当我构建或发布时,该复选框会自动再次被选中。

我不确定它是否受Office Addin大小写的限制,但是以下使用语句:

using System;
using System.Collections.Generic;
using Excel = Microsoft.Office.Interop.Excel;
using WebSocketSharp;
using Newtonsoft.Json;
using System.Diagnostics;
using System.Runtime.InteropServices;
using ComTypes = System.Runtime.InteropServices.ComTypes;
using System.Globalization;

它适用于Excel,但是PowerPoint和Word也有相同的问题。

可以在发布的setup.exe文件的“浏览”的“文件属性”中验证期望的结果。

右键单击setup.exe文件,然后选择“属性”。

预期(未签名): 对话框中没有“数字签名”标签。

实际(签名) 对话框中有一个“数字签名”标签。

我认为在此之前,不应自动选中“签署ClickOnce清单”复选框。但确实如此。

1 个答案:

答案 0 :(得分:1)

Here之前已经对此进行了讨论。

不幸的是,自VS2008以来,就此安全功能而言,它们似乎并未发生太大变化。

Microsofts VS2017 Docs的简短阅读将显示以下内容:

  

对于基于.exe的应用程序,对ClickOnce清单进行签名是可选的。有关更多信息,请参见本文档的“生成未签名的清单”部分。

...但是正如Tamas Czinege在相关讨论中指出的那样,必须对.dll进行签名。 VSTO的格式为.dll,因此需要签名。我建议使用测试证书,并尽可能替换。