【问题标题】:Is it possible to automate creation of keyfile, csc and regasm on client PC?是否可以在客户端 PC 上自动创建密钥文件、csc 和 regasm?
【发布时间】:2014-02-03 11:27:52
【问题描述】:

我们创建了一个可以通过 javascript 调用的程序集 dll,这会打开一个 exe 应用程序。为了让它运行,我们必须:-

  • 将 .cs 文件发送给客户
  • 提供包含以下内容的批处理文件:-
  • 从 CS 创建 DLL ---> 运行 C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /t:library myclass.cs
  • 创建一个新的密钥文件 ---> 转到 C:\program files x86\micorsoft SDKs\windows\v8.0\bin\NETFX 4.0 Tools\sn -k mynewkey.snk
  • 使用密钥文件签署 DLL ---> C:\program files x86\micorsoft SDKs\windows\v8.0\bin\NETFX 4.0 Tools\sn -R AClass.dll myneykey.snk
  • 注册已签名的 DLL ---> regasm AClass.dll/tlb /codebase.

这必须由每个客户执行。有没有办法通过浏览器本身上的javascript自动执行此操作。如果跳过签名部分就可以了。。

【问题讨论】:

  • 您没有以二进制形式发布库有什么原因吗?
  • 嗨,PMF,这将再次要求用户单击并运行二进制文件。还有其他解决方法吗?一种是通过一些组策略运行二进制文件。你还能想到其他方法吗?

标签: javascript com activex .net-assembly assembly-signing


【解决方案1】:

嗯,我想到的最明显的解决方案是提供一个自动执行上述所有操作的安装程序。这仍然需要用户单击某些东西,但只需单击一下。我认为您无法自动执行此操作,因为如果它允许在没有用户交互的情况下进行此类安装,那将是浏览器中的一个主要安全漏洞。您当然可以配置浏览器插件或 activeX 控件,直接从浏览器安装。但即便如此,出于安全原因,通常也需要用户手动确认。

【讨论】:

  • 有没有办法在没有预安装的情况下使用它.. 可能通过设置代码库值.. 或使用 创建一个 activex 对象.. 只是猜测..
  • JavaScript 和浏览器的东西一般不是我的领域。所以恐怕我不知道。如果您发布了如何加载 dll 的代码,也许会对某人有所帮助?
猜你喜欢
  • 1970-01-01
  • 2020-03-23
  • 2021-04-10
  • 1970-01-01
  • 1970-01-01
  • 2016-09-14
  • 2010-11-04
  • 2015-10-03
  • 2018-02-08
相关资源
最近更新 更多