问题标签 [mmc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
4191 浏览

c# - MMC 自定义管理单元安装

我在 C# 中编写了一个管理单元。

我尝试使用 installutil 安装它,但一开始没有用。我注意到在 msdn 页面上,他们说要运行 mmcperf 以将 management.dll 安装到 GAC 中。

这样做,我能够安装我的管理单元并运行它。我有一台xp机器。

我的问题是如何在客户机器上部署我的自定义管理单元......我需要考虑哪些事情?(操作系统?,.net 框架,是否安装了 mmc 3.0 等?)

我可以在安装我的管理单元期间运行 mmcperf 吗?这是一个好方法吗?

0 投票
1 回答
419 浏览

winforms - 将 Windows 窗体转换为 MMC 管理单元

我有一个 Windows 窗体应用程序,我想将其转换为 MMC 管理单元并在其中一个窗体中显示窗体,该窗体有一些按钮和用于按钮单击等的事件处理程序。

我应该将 winform 转换为用户控件,我的事件处理程序在这种情况下是否仍然有效?

最好的方法是什么?

0 投票
3 回答
36188 浏览

c# - 在不同的 AppDomain 中加载/卸载程序集

我需要在运行时加载的程序集中执行一个方法。现在我想在方法调用之后卸载那些加载的程序集。我知道我需要一个新的 AppDomain 以便我可以卸载这些库。但是在这里,问题出现了。

要加载的程序集是我的插件框架中的插件。他们根本没有切入点。我所知道的是它们包含一些实现给定接口的类型。旧的非 AppDomain 代码如下所示(略微缩短):

现在我希望它们加载到自己的 AppDomain 中:

如您所见,我已经放入了 5 个案例。

  1. 如果我设置事件处理程序,我会得到一个异常,即程序集(它是一个管理控制台 (mmc.exe) SnapIn。无法找到/加载。

  2. ExecuteAssembly 没有找到入口点(嗯,没有)。

  3. 我不知道该类型是如何命名的。如何通过界面加载?

  4. 类似于 3. 如何获取程序集的名称?

  5. 与 1 中的错误相同。

我认为问题可能出在管理控制台上,或者我不知道我做错了什么。任何帮助表示赞赏。

更新 1

我现在尝试使用发布的代理解决方案。

这也不起作用。尝试创建代理对象时,出现异常:

无法加载文件或程序集“MyProject.SnapIn,Version=1.0.0.0,Culture=neutral,PublicKeyToken=null”或其依赖项之一。该系统找不到指定的文件。

错误消息中的文件是加载到 mmc(管理单元)中的文件。知道如何解决此错误吗?AppDomain.AssemblyResolve 未被调用(在旧域或新域中均未调用)。

更新 2

我现在已经尝试了使用 AppDomainSetup 的解决方案。现在,异常已更改为:

无法加载文件或程序集“file:///C:/Development/MyProject/bin/SnapIn/MyProject.SnapIn.DLL”或其依赖项之一。给定的程序集名称或代码库无效。(来自 HRESULT 的异常:0x80131047)

任何的想法?

0 投票
1 回答
342 浏览

windows - 来自 MMC 管理单元的新 AppDomain 未获得 UAC 的提升权限

我创建了一个 MMC 管理单元,它在新的 appdomain 中启动代码,并且部分代码会检查注册表项。如果我在 snap in 过程中检查密钥,它可以工作,但新 appdomain 中的代码会引发安全异常。如果我从控制台或 Windows 应用程序将代码加载到新的 appdomain 中,它工作正常。

这是代码:

请注意,如果我从控制台或 Windows 应用程序将代码加载到新的 appdomain 中,它可以正常工作。我认为这更像是一个 MMC 管理单元问题,而不是 UAC 问题。

任何见解将不胜感激......

谢谢,

布拉德

0 投票
1 回答
522 浏览

c# - 为什么运行时不会自动解决我的程序集依赖项?

我有一些 c++ 代码是基于 MMC 的应用程序的管理单元。此管理单元通过 COM 包装器 (AssemblyA) 使用 .net 2.0 dll。AssemblyA 与启动 MMC 会话的应用程序位于同一目录中。AssemblyA 使用其他一些 .net dll (OtherAssemblies),由于我无法控制的原因,它们不能与 AssemblyA 位于同一目录中。它还允许动态加载某些组件(从 AssemblyB),并在第三个目录中搜索这些组件。来自 AssemblyB 的动态组件引用了 AssemblyA,因为它们在其中扩展了一个基类。

我的问题是,当我尝试加载动态组件时,它无法解析对 AssemblyA 的依赖,并且我的AssemblyResolve处理程序被触发(我使用它来解决OtherAssemblies)。当我Assembly.GetExecutingAssembly ()AssemblyResolve处理程序中查询时,程序集就是我要解析的程序集。

这种行为对我来说似乎有点奇怪,因为我希望 .NET 运行时首先在加载的程序集中查找依赖项,然后在我正在加载的程序集中查找依赖项,然后在 app 目录中查找。其中的第一个和第三个应该包含我要加载的程序集。

我已经修改了我的 AssemblyResolve 方法,以便它在其他位置搜索依赖项,因此它可以工作,例如当前的应用程序目录,但如果我能提供帮助,我真的不想这样做。

这种行为是预期的吗?是因为它是一个 MMC 应用程序,还是因为它是从 C++ 调用的 COM 启动的?我是个笨蛋吗?

0 投票
2 回答
790 浏览

.net-3.5 - MMC 3.0 snap in development and 'connect to another computer...' 对话框

我正在开发自定义MMC 3.0管理单元,想知道是否有一些内置的 SDK/API 方法可以连接到另一台运行相同管理单元的计算机?如果是这样,有人可以提供一些代码示例或教程链接来说明这如何可能吗?如果不可能,您建议使用什么与其他机器进行通信?远程机器上是否需要一个单独的服务来接受和传播对远程实例执行的操作?对此的任何帮助都会很棒。

谢谢,

斯科特

0 投票
1 回答
1635 浏览

wpf - MMC 管理单元中的 WPF

有人可以提供一些在自定义 MMC 管理单元中使用 WPF 的示例代码吗?我是 WPF 新手,我已经了解编写 MMC 管理单元的示例,但我不明白如何选择 WPF 而不是 Winforms。

0 投票
2 回答
1293 浏览

c# - 如何将我的管理单元添加到 MMC

我正在 Windows 7 下开发简单的 C# 应用程序作为 mmc 的跨接,如此链接中所示

http://msdn.microsoft.com/en-us/library/ms692759(VS.85).aspx

将 dll 添加到 GAC 后,我使用 installutil.exe 安装管理单元,但在添加/删除管理单元中找不到它

请帮忙

0 投票
1 回答
298 浏览

.net - .NET 应用程序中的 Microsoft 管理控制台

  1. 是否可以在 .NET 应用程序中托管 MMC 管理单元?
  2. 如果不是,是否可以在“计算机管理”管理单元设置为任意计算机名称的情况下启动 MMC
0 投票
3 回答
607 浏览

iis - 如何在 MMC 2.0 中为 IIS 6.0 管理器开发管理单元

我有一些 IIS 6.0 过滤器和扩展,我需要在 IIS 管理器中为其创建配置面板。例如,我需要创建类似于 ASP.NET 选项卡的内容。

我需要支持 R2 之前的 Windows Server 2003 版本,并且不能假设他们会安装 MMC 3.0 更新,所以我想我必须使用非托管 C++ 来完成。

我已经阅读了 MMC 管理单元,并且对它们的工作方式有一个非常基本的了解,但我不确定如何在 IIS 管理器中获取一个作为选项卡加载的管理单元。我在想也许我需要一个“扩展管理单元”,但我并不肯定。

因此,我正在寻找有关如何执行此类操作的任何类型的文档、文献、教程、示例等。有任何想法吗?