Bir msi yükleyici paketi ile dağıtmak istediğim bir kendinden mesajlı WCF servis uygulamasına sahibim. Ben http düzenlemek istediğinizWCF selfhosted hizmeti, yükleyici sınıfı ve netsh
"netsh http add urlacl url=http://+:8888/ user=\Everyone"
: uç nokta ben netsh ile http ayarlarını düzenlemek için yönetici olarak programı çalıştırmak veya sahip olmak ya sahip kurulumdan sonra 2008 windows altında projeyi başlangıç için http portunu 8888 kullanır Yükleyici sınıfımın ayarları. Bu nedenle takın() yönteminden aşağıdaki yöntemi çağırır:
public void ModifyHttpSettings()
{
string parameter = @"http add urlacl url=http://+:8888/ user=\Everyone";
System.Diagnostics.ProcessStartInfo psi =
new System.Diagnostics.ProcessStartInfo("netsh", parameter);
psi.Verb = "runas";
psi.RedirectStandardOutput = false;
psi.CreateNoWindow = true;
psi.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
psi.UseShellExecute = false;
System.Diagnostics.Process.Start(psi);
}
Bu yöntem yerelleştirilmiş sürümleri için değil pencerelerin ingilizce sürümleri için çalışır, ancak (grup Herkes yerelleştirilmiş versiyonları farklı isimler alır). Ayrıca, şu anda oturum açmış olan kullanıcı için en azından erişime izin vermek için Environment.UserName'i kullanmaya çalıştım. Ancak bu da işe yaramaz çünkü yükleyici sınıfı, kullanıcı SİSTEMİ altında çalışan msi servisi tarafından çalıştırılır. Bu nedenle Enviroment.UserName SİSTEMİ döndürür ve istediğim bu değil.
Bir msi yükleyici sınıfından tüm (veya en azından oturum açmış olan) kullanıcı için kendime ait WCF hizmetime erişim izni vermenin bir yolu var mı? Bir çözüme
Teşekkürler dostum, zamanımı kurtardın – Butsaty
Kevinc Kullanıcısına atıfta bulunuyorsanız, o, bir @ türküm dizesi yapmaktan dolayı, o değildir. – Eternal21