带有嵌入式清单的 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# 等托管代码中为 ActiveX 组件使用嵌入式免注册清单?
是否可以将带有许多包的 Python 脚本嵌入到 C# 中?