是否可以读取当前运行的ClickOnce应用程序的发布者名称(您在Project Properties中设置的那个 – > Publish – > Options – > Visual Studio中的Publisher名称)?
解决方法
你会认为这是微不足道的,但我没有在框架中看到任何给你这个信息的东西.
免责声明 – 代码丑陋且未经测试……
... var publisher = GetPublisher("My App Name"); ... public static string GetPublisher(string application) { using (var key = Registry.CurrentUser.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\Uninstall")) { var appKey = key.GetSubKeyNames().FirstOrDefault(x => GetValue(key,x,"DisplayName") == application); if (appKey == null) { return null; } return GetValue(key,appKey,"Publisher"); } } private static string GetValue(RegistryKey key,string app,string value) { using (var subKey = key.OpenSubKey(app)) { if (!subKey.GetValueNames().Contains(value)) { return null; } return subKey.GetValue(value).ToString(); } }
如果您找到更好的解决方案,请跟进.