Bunun önemsiz olduğunu düşünürsünüz, ancak çerçevede bu bilgiyi veren hiçbir şey göremiyorum.
Bir kesmek istiyorsanız, yayıncıyı kayıt defterinden alabilirsiniz.
Yasal Uyarı - Kod çirkin ve denenmemiş bir ...
...
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();
}
}
Eğer daha iyi bir çözüm bulursanız, takip edin. tıpkı bu dışarı atma,
public string AssemblyCompany
{
get
{
object[] attributes = Assembly.GetExecutingAssembly().GetCustomAttributes(typeof(AssemblyCompanyAttribute), false);
if (attributes.Length == 0)
{
return "";
}
return ((AssemblyCompanyAttribute)attributes[0]).Company;
}
}
Ne yazık ki, "yayıncı" özel niteliği gidecekseniz:
(bir web sunucusuna dağıtmak gerekir). Http://stackoverflow.com/questions/7588608/clickonce-application-wont-accept-command-line-arguments/7588781#7588781 – Reddog
'a göre, bunun benim durumum için geçerli olup olmadığından emin değilim. Bu bir sunucudan yükler, ancak bildiğim kadarıyla bir sunucudan "çalışmaz". Yükledikten sonra da çevrimdışı çalıştırabilirsiniz. Bu URL’yi "Process.Start" 'a geçirmeniz gerekiyor mu? – Juan