VS 2013 C#和Wix安装写入事件日志的Windows服务

时间:2014-02-11 17:51:51

标签: windows service wix

我们正在转向Visual Studio 2013,我在Vs2010中构建的当前项目是由Windows服务托管的wcf服务。我创建了一个安装项目,所有项目都按预期工作。

移至2013年,不再支持安装项目。我尝试了InstallShield LT,它试图让我们花更多的钱。所以我去了wix。

测试新的部署可能性我在这里构建了基本的Windows服务应用程序: http://msdn.microsoft.com/en-us/library/zt39148a(v=vs.110).aspx

当我使用Installshield LT时,它安装并创建了应用程序事件日志(该安装项目存在其他问题,导致我无法使用它)

所以我创建了一个wix安装项目,这非常棒,除了你安装它的事实似乎没有授予写入事件日志的正确权限。

如果我注释掉在开始时写入事件日志的代码,则服务将启动。

 Event1.WriteEntry("Command received to start service.");

如果我没有让服务无法启动。在wix中我添加了这个:

InstallPrivileges="elevated"  

但它没有任何区别。 我搜索了stackOverflow并发现了另一个对此的反应:

<Property Id="MSIUSEREALADMINDETECTION" Value="1" />

强制以管理员身份运行,但所有这一切都迫使我在卸载时重启机器,它仍然不会写入事件日志。

我从一个很好的命令提示符中运行了msi,但没有运气。

该服务最终将拥有自己的登录名,但当前设置为LocalSystem。

我将帐户更改为我的域名(管理员),服务仍然无法启动。

我在这里更改了regkey权限HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ services \ eventlog 完全控制我的帐户,什么也没有。

它的窗户7。 非常感谢任何和所有帮助。

1 个答案:

答案 0 :(得分:1)

我没有在设置中包含app.config文件,也从未复制过。包括这个文件解决了我的问题......