我们正在转向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。 非常感谢任何和所有帮助。
答案 0 :(得分:1)
我没有在设置中包含app.config文件,也从未复制过。包括这个文件解决了我的问题......