Wix,安装windows服务内存不足错误



我想安装一个windows服务,所以我按照所有建议添加了一个有权限的用户,但在启动服务时,如果你有足够的权限,请进行错误检查,下面是我使用的wix部分

<Fragment>
<ComponentGroup Id="MedecxService_ServiceComponents">
<Component Id="MedecxService_ServiceComponent" Directory="MedecxService_INSTALLFOLDER" Guid="ab621e57-b52d-4bbe-853e-a5f0ca312a73">
<File Id="fil1DBD278DE49E2EF052BB6AD6321F3F88" Source="$(var.SourceOutput)BarcodeLib.dll" Vital="yes" />
<File Id="filC2A7B546D16126D43DBD2D104D432F8E" Source="$(var.SourceOutput)BouncyCastle.Crypto.dll" Vital="yes" />
<File Id="fil7DFD2A683DC5DD9AE627D7E981F10CF0" Source="$(var.SourceOutput)EntityFramework.dll" Vital="yes" />
<File Id="filA912EE64A53B15C1D42E5728EB204CE7" Source="$(var.SourceOutput)EntityFramework.SqlServer.dll" Vital="yes" />
<File Id="fil753895A598A12643844071A70FA84CE0" Source="$(var.SourceOutput)EntityFramework.SqlServer.xml" Vital="yes" />
<File Id="filFC1348D75FED056A10197E522A36B6BA" Source="$(var.SourceOutput)EntityFramework.xml" Vital="yes" />
<File Id="fil7252DEC8E62AECCABE47731A9AD8AF8F" Source="$(var.SourceOutput)Excel.dll" Vital="yes" />
<File Id="fil2CE2A8A8259B04B3F97DD1DAFE40EDB7" Source="$(var.SourceOutput)Helpers.dll" Vital="yes" />
<File Id="filC4FB21276BDBCDD1F4E7BF8A7F45C4A5" Source="$(var.SourceOutput)ICSharpCode.SharpZipLib.dll" Vital="yes" />
<File Id="fil42C2BC798D2D94A68DDD00C91ABA994E" Source="$(var.SourceOutput)installSVC.bat" Vital="yes" />
<File Id="filB02D1566FC3DC0D161ABD38AD5FC64DC" Source="$(var.SourceOutput)InstallUtil.InstallLog" Vital="yes" />
<File Id="fil954AFA2395EEF3231797A75EDB77B0BE" Source="$(var.SourceOutput)Ksys.BusinessLayer.dll" Vital="yes" />
<File Id="fil7ACD4014B5B636037386C4BDF79C1B78" Source="$(var.SourceOutput)Ksys.Config.dll" Vital="yes" />
<File Id="fil9D674EB595DEF40D9EB7E7F9385692F8" Source="$(var.SourceOutput)Ksys.DataAccessLayer.dll" Vital="yes" />
<File Id="fil5C85C3A51F97BECB30D1FD009D0A8F40" Source="$(var.SourceOutput)Ksys.EF.dll" Vital="yes" />
<File Id="filA856B94EF75EB5736F2FF15FFE9282AE" Source="$(var.SourceOutput)ksys.logger.dll" Vital="yes" />
<File Id="fil663E50F269D1C3C837A6CCF85F2A9300" Source="$(var.SourceOutput)Ksys.Model.dll" Vital="yes" />
<File Id="filA0113B26097E9D1E15349612C1220CD4" Source="$(var.SourceOutput)Ksys.Serializer.dll" Vital="yes" />
<File Id="fil5D63BB77482AF07C528276A85E2DA9EA" Source="$(var.SourceOutput)LinqKit.dll" Vital="yes" />
<File Id="filE10B7796C9698A8AFAC095C006D48B28" Source="$(var.SourceOutput)LinqKit.xml" Vital="yes" />
<File Id="fil533B9EB0CA736575A79518F23236D1E0" Source="$(var.SourceOutput)MedexCloudWindowsService.exe" Vital="yes" />
<File Id="filFFC294FA751B1E0AFB84F1F322CD0074" Source="$(var.SourceOutput)MedexCloudWindowsService.exe.config" Vital="yes" />
<File Id="fil69C4144F6FBAFBE9D9BEE80F9EE9F166" Source="$(var.SourceOutput)MedexCloudWindowsService.InstallLog" Vital="yes" />
<File Id="fil4CA61FA9154292B5DEACC620C7D7CFBE" Source="$(var.SourceOutput)MedexCloudWindowsService.InstallState" Vital="yes" />
<File Id="fil7F15BA8094994ADAD04DA907E934B5BD" Source="$(var.SourceOutput)Newtonsoft.Json.dll" Vital="yes" />
<File Id="fil9BA73B8312B77DA2A8D16A6C05D0598B" Source="$(var.SourceOutput)Newtonsoft.Json.xml" Vital="yes" />
<File Id="fil49D7CB3EEC543B549EE3BE62A5F30A21" Source="$(var.SourceOutput)NLog.config" Vital="yes" />
<File Id="filD99192F3EF926B0696A896924D4A93A9" Source="$(var.SourceOutput)NLog.dll" Vital="yes" />
<File Id="fil88CDAADE20F6C0BABA487DCEA46ED96F" Source="$(var.SourceOutput)NLog.xml" Vital="yes" />
<File Id="fil5AEDF8895277D5A2AA598DDAFF1864E9" Source="$(var.SourceOutput)PF.SecurityEngine.dll" Vital="yes" />
<File Id="fil1F3080066204F089C69EB71515856B08" Source="$(var.SourceOutput)Telerik.Windows.Controls.dll" Vital="yes" />
<File Id="filD55FBBEEEACF8F9178263C092CE65233" Source="$(var.SourceOutput)Telerik.Windows.Controls.Input.dll" Vital="yes" />
<File Id="filDC7E32BCE263A15047412BEF5CA27BB9" Source="$(var.SourceOutput)Telerik.Windows.Controls.Navigation.dll" Vital="yes" />
<File Id="fil51DF87675977D541123ACB4D746195AE" Source="$(var.SourceOutput)Telerik.Windows.Controls.ScheduleView.dll" Vital="yes" />
<File Id="fil426643C3E4EA3F59203804FB1B3737A6" Source="$(var.SourceOutput)Telerik.Windows.Data.dll" Vital="yes" />
<File Id="fil74FBFF28BAE103F0D04C443B98393E70" Source="$(var.SourceOutput)UninstallSVC.bat" Vital="yes" />
<File Id="filDE20D180F79A557C4356E0E6A2F651EA" Source="$(var.SourceOutput)Ar-EGHelpers.resources.dll" Vital="yes" />
<File Id="fil23324D44B270D2DDB61E42F72C82FA42" Source="$(var.SourceOutput)CultureResources.Ar-EG.Designer.cs" Vital="yes" />
<File Id="fil309B641D96FFD04503F6706E7832137E" Source="$(var.SourceOutput)CultureResources.Ar-EG.resx" Vital="yes" />
<File Id="fil5131FA2051CE202BE8A87A73423D3188" Source="$(var.SourceOutput)CultureResources.Designer.cs" Vital="yes" />
<File Id="fil4B63438F9C7A1A62CE7519085FD7EF7F" Source="$(var.SourceOutput)CultureResources.EN-US.Designer.cs" Vital="yes" />
<File Id="fil88BF0A38DDF70B974AE6154BCD6B56DA" Source="$(var.SourceOutput)CultureResources.EN-US.resx" Vital="yes" />
<File Id="filC98495569CBB3CCB9CCC9B0F550AB54C" Source="$(var.SourceOutput)CultureResources.resx" Vital="yes" />
<File Id="filCC289B0C10B0E547830E23254F453E0E" Source="$(var.SourceOutput)EN-USHelpers.resources.dll" Vital="yes" />
<util:User Id="user" CreateUser="yes" Name="serviceaccount" Password="p2Ekutrekac34ph2" LogonAsService="yes" UpdateIfExists="yes" RemoveOnUninstall="yes" PasswordNeverExpires="yes" FailIfExists="no" Domain="[ComputerName]" CanNotChangePassword="yes" Disabled="no" PasswordExpired="no" />
<ServiceInstall Id="QBServiceInstaller" Type="ownProcess" Vital="yes" Name="MedexCloudWindowsService.exe" DisplayName="medexCloud Backend service" Description="medexCloud Backend service" Start="auto" Account=".serviceaccount" Password="p2Ekutrekac34ph2" ErrorControl="ignore" Interactive="no" />
<ServiceControl Id="MedecxServiceStartService" Start="install" Stop="both" Remove="uninstall" Name="MedexCloudWindowsService.exe" Wait="yes" />
</Component>
</ComponentGroup>
</Fragment>

"权限不足"错误只是猜测,通常不是问题的原因。因此,我将列出常见的嫌疑人:

  1. 服务代码在启动区域被破坏,在响应启动消息或OnStart事件后,它崩溃或没有及时响应启动。这可以通过让服务创建一个跟踪日志来测试,跟踪日志记录了它正在做的事情,这对于帮助调试服务来说是非常宝贵的。

  2. 它缺少一个依赖项,该依赖项要么是a)未包含在安装或先决条件中,要么是b)正在安装到GAC或WinSxS,因此在启动服务时不可用。

  3. 你的WiX在某个地方不正确。根据我所看到的你的消息来源,这似乎是最有可能的原因。ServiceInstall要求服务二进制文件是包含组件的密钥路径。据我所知,你的服务exe不是组件的关键路径,所以我不清楚你的服务是否会正确安装。在任何情况下,最佳做法都是每个组件有一个文件。

最新更新