带有嵌入式清单的 C# 4.0 应用程序是不是需要在客户端计算机上安装数字证书或强名称?

Posted

技术标签:

【中文标题】带有嵌入式清单的 C# 4.0 应用程序是不是需要在客户端计算机上安装数字证书或强名称?【英文标题】:Does C# 4.0 Apps With Embedded Manifest require Digital Certificate or Stong Name to be installed on Client Machines?带有嵌入式清单的 C# 4.0 应用程序是否需要在客户端计算机上安装数字证书或强名称? 【发布时间】:2011-08-11 02:39:41 【问题描述】:

我有一个 WPF 4.0 应用程序,它需要停止和启动我们的 Windows 服务,应用程序称为数据服务监视器。此数据服务监视器应用程序不需要提升的 UAC 权限。

所以现在我正在考虑创建一个没有表单或 UI 的 Windows 应用程序,只是为了启动或停止 Windows 服务。考虑嵌入 Manifest for Vista/ Win 7 for UAC 提示。调用它 ServiceController.exe 和 WPF 应用程序将调用此 ServiceController.exe 来启动或停止 Windows 服务,这是唯一一次提示用户提升

所以这里有两个问题:

这是个好主意吗? (WPF 4.0 应用调用 exe 来启动/停止服务,而不是给予整个 wpf 应用完全信任)??

也用于在客户端机器上安装,这是否需要数字证书或强名称组合? (此 WPF 应用程序和 ServiceController.exe 将安装在 XP、Vista 和 Win 7 机器上)

【问题讨论】:

用户想要启动/停止服务的频率有多高?他们会在每次运行您的应用时都这样做,还是只是偶尔这样做? 【参考方案1】:

就我个人而言,我会完全信任整个 WPF 应用程序,因为对于最终用户来说,他们不会知道授予您的一个可执行文件 UAC 权限而不是另一个之间的区别。它也应该使您的部署过程更加简单。

对于数字证书,我相信它可以与自签名证书一起使用,但用户可能会收到一个对话框,说明它不是来自受信任的证书颁发机构。获得签名证书将使您的应用程序看起来更加专业,并且通常可以从 GoDaddy 或类似网站以几百美元的价格获得。

【讨论】:

以上是关于带有嵌入式清单的 C# 4.0 应用程序是不是需要在客户端计算机上安装数字证书或强名称?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 C# 和 VB 项目有不同的清单资源结构?

如何从 C# 等托管代码中为 ActiveX 组件使用嵌入式免注册清单?

是否可以将带有许多包的 Python 脚本嵌入到 C# 中?

.Net 4.0 C# 项目中是不是需要 app.config?

在 C# 4.0 中是不是应该使用重载或可选参数声明方法?

c# 4.0 如何给图像添加图层