Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何保护Excel加载项_Excel_Security_Vsto_Add In - Fatal编程技术网

如何保护Excel加载项

如何保护Excel加载项,excel,security,vsto,add-in,Excel,Security,Vsto,Add In,我有一个问题要问Excel社区: 我已经准备了一个加载项,它可以为机器上的所有用户安装。我担心恶意用户可以通过Excel Office按钮=>禁用加载项 我需要的是没有人能够禁用我的加载项? 我的问题是: 1.可能吗? 2.如果是,如何实现这一目标? 3.在部署前对代码进行数字签名或为加载项创建根证书是否有助于Excel成功加载该加载项并阻止恶意用户禁用该加载项 高度赞赏任何类型的输入 谢谢。外接程序的启用/禁用行为由注册表项控制。Excel通过更新此键中的“LoadBehavior”值来停用加

我有一个问题要问Excel社区:

我已经准备了一个加载项,它可以为机器上的所有用户安装。我担心恶意用户可以通过Excel Office按钮=>禁用加载项

我需要的是没有人能够禁用我的加载项? 我的问题是:

1.可能吗? 2.如果是,如何实现这一目标? 3.在部署前对代码进行数字签名或为加载项创建根证书是否有助于Excel成功加载该加载项并阻止恶意用户禁用该加载项

高度赞赏任何类型的输入


谢谢。

外接程序的启用/禁用行为由注册表项控制。Excel通过更新此键中的“LoadBehavior”值来停用加载项:

软件\Microsoft\Office\Excel\Addins\[youraddin]

虽然这可能不是一个好主意(你需要仔细考虑),但是你可以通过在注册表项上设置权限(允许只对特定用户写这个密钥,或者禁止为每个人写访问)来“确保”外接程序。p> 您可以手动(即通过注册表编辑器)、安装程序或组策略修改注册表项的权限

请注意,通常情况下,如果用户禁用某些加载项,则该加载项仅对该用户禁用,而不是对所有用户禁用(用户的HKCU密钥中的值已更新)-假设用户不是管理员或UAC已激活。要为所有用户禁用外接程序,“恶意”用户必须具有管理员权限,并且必须以管理员身份启动office应用程序


如果您不想让用户禁用外接程序,即使只是为自己禁用外接程序,您可能需要做一些额外的工作来保护其用户的注册表。

您不能这样做,原因有很多。比如什么?这些好的理由是什么?我能在多大程度上做到这一点?#1:我不再需要你的加载项,希望卸载它#2:您的加载项与另一个加载项冲突,我需要卸载您的加载项以使另一个正常工作。这对我来说有很多原因:-)我恐怕你做不到-这里的关键词是“安全”。你如何定义“恶意用户”?如果我想卸载一个软件,或者禁用一个加载项,那不是恶意的。