问题
I have a problem trying to make a WiX installer of my Windows service similar to an existing InstallShield Limited Edition 2015 installer. I tried to reproduce the same existing InstallShield configuration in WiX using the IsWiX graphical tool, but when installing the generated Setup, I get an error message at installation when starting the services "Service start failure. Check that you have sufficient provilèges to start the system services". I have tried all the solutions proposed in the topics posted here on StackOverFlow, but to no avail. I attach pictures of the configuration of the functional InstallShield installer, as well as the new WiX/IsWix installer I'm trying to develop. P.S : In the doc of the current InstallShield installer, we check the "Install Class" box in".NET Properties" of "EudoProcessWindowsService.main" to allow the service to automatically start at installation.
Thank you for helping me to solve this problem as soon as possible, and thank you in advance.
IsWiX Merge Module.wxs :
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<?define ComponentRules="OneToOne"?>
<!-- SourceDir instructs IsWiX the location of the directory that contains files for this merge module -->
<?define SourceDir="..\"?>
<Module Id="EudoProcess" Language="1036" Version="10.017.0">
<Package Id="9c9ee890-0a79-4a13-b23c-d4a423f9068f" Manufacturer="Eudonet" InstallerVersion="200" Comments="contact: support@eudoweb.com" Description="EudoProcess" InstallScope="perMachine" Keywords="Installer,MSI,Database" Languages="1036" Platform="x86" AdminImage="yes" InstallPrivileges="elevated" />
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="CommonAppDataFolder" Name="CommonAppData" />
<Directory Id="CommonFilesFolder" />
<Directory Id="DesktopFolder" />
<Directory Id="MergeRedirectFolder">
<Directory Id="owd1D6699248764FCC49EB246ECD0E44403" Name="EUDOAGENTS">
<Directory Id="owdEE2A3739AA82DC65970E57F60CAF7295" Name="EudoProcess">
<Component Id="owc9794741B3CDAE241CA82B8CFF01BAB6B" Guid="490f4852-e65a-057e-1cf0-ab0de7b3195c">
<File Id="owf9794741B3CDAE241CA82B8CFF01BAB6B" Source="$(var.SourceDir)\EudoProcessIHM\bin\x86\Release\GlobalConfig.xml" KeyPath="yes" />
</Component>
<Component Id="owc01ADF0244E3B37C95BC26B36A25B51D0" Guid="94a781dd-91a0-7567-3a1e-07e01ea467bf">
<File Id="owf01ADF0244E3B37C95BC26B36A25B51D0" Source="$(var.SourceDir)\EudoProcessJobs\bin\Release\Syncfusion.Core.dll" KeyPath="yes" />
</Component>
<Component Id="owc1038C45AE48BE03D6D3CEA3B903E515D" Guid="40dca09d-a0f4-127a-d847-5900f69b2152">
<File Id="owf1038C45AE48BE03D6D3CEA3B903E515D" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Debug\EudoProcessIHM.exe" KeyPath="yes">
<Shortcut Id="sc12569F7E6F0BAF648DB8844C871427E5" Name="EudoProcess" Directory="scd6FFE6E625369E4B5D473D7B41E91288D" Show="normal" />
<!--<Shortcut Id="UninstallProduct" Name="Uninstall EudoProcess" Target="[SystemFolder]msiexec.exe" Arguments="/x [ProductCode]" Description="Desinstalle EudoProcess" />-->
<Shortcut Id="sc5EA699B51DA100400CDB2EBCAA34FE93" Name="EudoProcess" Directory="DesktopFolder" Show="normal" />
<Shortcut Id="scDFCB66FC88D3C3FD632F2C7A3056EA10" Name="Uninstall EudoProcess" Directory="scd6FFE6E625369E4B5D473D7B41E91288D" Show="normal" Arguments="/x {9c9ee890-0a79-4a13-b23c-d4a423f9068f}" />
</File>
</Component>
<Component Id="owc67D5EA3C2FC68864C6FBDA0F0A537098" Guid="54ef3994-3549-8def-0453-88c4cd16c338">
<File Id="owf67D5EA3C2FC68864C6FBDA0F0A537098" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Debug\EudoProcessJobs.pdb" KeyPath="yes" />
</Component>
<Component Id="owc24407607CCAC7813C232018552384AB5" Guid="a2f90958-b6d5-d7d7-b9f0-20f1be664d4e">
<File Id="owf24407607CCAC7813C232018552384AB5" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Debug\EudoProcessWindowsService.exe" KeyPath="yes" />
<ServiceInstall Id="siF25576763802DAB33AAEE70DC6980648" Name="EudoProcessService" DisplayName="EudoProcess" Description="Service Eudonet gerant l'export, l'e-mailing et les traitements." ErrorControl="normal" Start="auto" Type="ownProcess" />
<ServiceControl Id="scF25576763802DAB33AAEE70DC6980648" Name="EudoProcessService" Stop="both" Remove="both" Wait="yes" Start="install" />
</Component>
<Component Id="owcA934B07A9C1DCF9CA006DD29AA0FF773" Guid="4936461f-24af-44e4-6ea1-b4bea4c8e0e9">
<File Id="owfA934B07A9C1DCF9CA006DD29AA0FF773" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Debug\EudoProcessWindowsService.vshost.exe" KeyPath="yes" />
</Component>
<Component Id="owc01751399D1CAE5CEB33129290A6D9551" Guid="8b684566-cf4a-7973-b186-6321b457de1f">
<File Id="owf01751399D1CAE5CEB33129290A6D9551" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Debug\EudoProcessWindowsService.vshost.exe.manifest" KeyPath="yes" />
</Component>
<Component Id="owc7A8276EDB69DFB9E8C1730A2727BDA95" Guid="e0fa0b13-4708-401b-74e8-96b48e2a74c5">
<File Id="owf7A8276EDB69DFB9E8C1730A2727BDA95" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\BouncyCastle.Crypto.dll" KeyPath="yes" />
</Component>
<Component Id="owc6359437F1CA68F5CDE796D8399CE4562" Guid="6e5e3aef-8634-5846-3c69-2c7970bd639c">
<File Id="owf6359437F1CA68F5CDE796D8399CE4562" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\Com.Eudonet.Framework.ORM.Connector.dll" KeyPath="yes" />
</Component>
<Component Id="owc104D844ADA90978FFD6D8A7C43A27295" Guid="0749adbc-6926-d2dd-cddc-71f387a4cc92">
<File Id="owf104D844ADA90978FFD6D8A7C43A27295" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoImport.dll" KeyPath="yes" />
</Component>
<Component Id="owcDC7BB09DA58BAF172B0F1048CF416E10" Guid="7b523f08-8c59-f6eb-cb05-21132204d692">
<File Id="owfDC7BB09DA58BAF172B0F1048CF416E10" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoImport.pdb" KeyPath="yes" />
</Component>
<Component Id="owcBCB7976AB2BADD58BFB56ADBA41FFB59" Guid="669f3fe0-b59c-4f59-8cb8-9ad258c2b686">
<File Id="owfBCB7976AB2BADD58BFB56ADBA41FFB59" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoInternal.dll" KeyPath="yes" />
</Component>
<Component Id="owc9436BEEE545C5F3565E234C922270094" Guid="ffb74359-75b8-8fa4-57c6-40fea93a43ee">
<File Id="owf9436BEEE545C5F3565E234C922270094" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoMailing.dll" KeyPath="yes" />
</Component>
<Component Id="owc12B7884B6EE4639E93DFBD4062FC0CAC" Guid="09d632d9-e7e9-3059-97a5-cf23250a37bc">
<File Id="owf12B7884B6EE4639E93DFBD4062FC0CAC" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoMailing.pdb" KeyPath="yes" />
</Component>
<Component Id="owcD16BE9A4811AEB43A4556CD7EF4BDE1D" Guid="818d130e-4461-09f7-69ef-4237cfac62fc">
<File Id="owfD16BE9A4811AEB43A4556CD7EF4BDE1D" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoProcessConfig.dll" KeyPath="yes" />
</Component>
<Component Id="owcB344082CCD619A26AE71A07E137AEFA4" Guid="2608ecf1-a61e-9a39-7e84-5ce439ad6a83">
<File Id="owfB344082CCD619A26AE71A07E137AEFA4" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoProcessConfig.pdb" KeyPath="yes" />
</Component>
<Component Id="owcC84874FA836DD8B9247B14DC62FA4951" Guid="b842da92-919b-5ed6-f9e5-e075dc9fdfe9">
<File Id="owfC84874FA836DD8B9247B14DC62FA4951" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoProcessIHM.pdb" KeyPath="yes" />
</Component>
<Component Id="owc2C2A9CFD7393AC124850C6E6AD6C7681" Guid="accc8b8e-ea69-7194-20a7-7b902929b5a7">
<File Id="owf2C2A9CFD7393AC124850C6E6AD6C7681" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoProcessInterfaces.dll" KeyPath="yes" />
</Component>
<Component Id="owcFE5944C8B4A786CE300A9649F1AAC4A3" Guid="e965a93b-3ecf-0e26-a074-9a3439bc8638">
<File Id="owfFE5944C8B4A786CE300A9649F1AAC4A3" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoProcessInterfaces.pdb" KeyPath="yes" />
</Component>
<Component Id="owc7777DF7E2F32190F00BC2B14592CF8F9" Guid="583a4dc8-447d-72d1-17c9-ed7284196b7e">
<File Id="owf7777DF7E2F32190F00BC2B14592CF8F9" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoProcessJobs.dll" KeyPath="yes" />
</Component>
<Component Id="owc979C2868D579E2533E9845FA74E338AB" Guid="fb066e71-ac13-1435-fb7f-13378bb2046a">
<File Id="owf979C2868D579E2533E9845FA74E338AB" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoProcessSql.dll" KeyPath="yes" />
</Component>
<Component Id="owc76CF2EA914ED6A453320CC13E9D013A6" Guid="ff522716-37ee-61cf-7b0e-c9c5120fec80">
<File Id="owf76CF2EA914ED6A453320CC13E9D013A6" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoProcessSql.pdb" KeyPath="yes" />
</Component>
<Component Id="owcCEC26FC1721327E531A70DB227F59D96" Guid="29b9a62f-0e1b-e81d-4bc1-8ca8bf4788ac">
<File Id="owfCEC26FC1721327E531A70DB227F59D96" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoProcessWCF.dll" KeyPath="yes" />
</Component>
<Component Id="owc32F770DA664580453F25BA4CE0230102" Guid="c6d6a59e-69fa-d21e-da36-673c7ee3f63e">
<File Id="owf32F770DA664580453F25BA4CE0230102" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoProcessWCF.pdb" KeyPath="yes" />
</Component>
<Component Id="owc9EC867E7C809A5D049C2E77DDDCD60CD" Guid="d9dca57c-8ba3-8908-689a-588ab002f7a7">
<File Id="owf9EC867E7C809A5D049C2E77DDDCD60CD" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoProcessWindowsService.pdb" KeyPath="yes" />
</Component>
<Component Id="owc122805EB065B19D31B8ADD71C3B2C025" Guid="6ddc1ca9-a730-81c7-2376-a3f8c98b043f">
<File Id="owf122805EB065B19D31B8ADD71C3B2C025" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoQuery_DEV.dll" KeyPath="yes" />
</Component>
<Component Id="owcFDB1025F04770FC057BE9E66A643EE86" Guid="d7acfd3f-c1f0-f7e0-97b4-967a6dd6a332">
<File Id="owfFDB1025F04770FC057BE9E66A643EE86" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoQuery_DEV.pdb" KeyPath="yes" />
</Component>
<Component Id="owc4D818B29FCE16664A0A89C85DDC981EF" Guid="ab739cd3-856b-cae8-75bb-ab3f51dd40b1">
<File Id="owf4D818B29FCE16664A0A89C85DDC981EF" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoReport.dll" KeyPath="yes" />
</Component>
<Component Id="owc32A17C9C5AD57723EE2AD05E4246929F" Guid="598fe4a9-e941-83ac-74c6-66e0d4f46e7b">
<File Id="owf32A17C9C5AD57723EE2AD05E4246929F" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoReport.pdb" KeyPath="yes" />
</Component>
<Component Id="owc9B77696C2CEB50F05CFBD72DEE68CACB" Guid="1bbc90f6-8ba4-d9d6-a5ab-2cdde4bede48">
<File Id="owf9B77696C2CEB50F05CFBD72DEE68CACB" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoSynchroExchangeInterface.dll" KeyPath="yes" />
</Component>
<Component Id="owc104017BB067EDAE8D9E48E46F001D553" Guid="8879046b-3850-aec6-595f-93e64a4abd28">
<File Id="owf104017BB067EDAE8D9E48E46F001D553" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoSynchroExchangeInterface.pdb" KeyPath="yes" />
</Component>
<Component Id="owc46BB2C56AF96777AF887AE44BBB8F5A1" Guid="e75fc5cd-acf7-6ad7-2f76-42f9345120f6">
<File Id="owf46BB2C56AF96777AF887AE44BBB8F5A1" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoTreatment.dll" KeyPath="yes" />
</Component>
<Component Id="owc062CFF801EF0019D79A04DBED640D637" Guid="0c267163-e49c-9ee4-6953-61c9e71eeaf1">
<File Id="owf062CFF801EF0019D79A04DBED640D637" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\EudoTreatment.pdb" KeyPath="yes" />
</Component>
<Component Id="owc88B45E168DA243560DA208F964DC753A" Guid="be070774-ec86-09f7-a8f1-cc6266652cd7">
<File Id="owf88B45E168DA243560DA208F964DC753A" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\HtmlAgilityPack.dll" KeyPath="yes" />
</Component>
<Component Id="owcE7798B8FF941AA1BDE582479AC8DDC79" Guid="032bea12-d1d5-42dc-6b8a-56db7f54434e">
<File Id="owfE7798B8FF941AA1BDE582479AC8DDC79" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\ICSharpCode.SharpZipLib.dll" KeyPath="yes" />
</Component>
<Component Id="owc2DA2D732A91B6773DE4D2BA4AD1A35CE" Guid="2207c8ed-6fc0-bd8f-9c4f-7db8066b2fab">
<File Id="owf2DA2D732A91B6773DE4D2BA4AD1A35CE" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\MailKit.dll" KeyPath="yes" />
</Component>
<Component Id="owc5CBC0BA2AFED08858BFCBD8FADA090AA" Guid="9888f8ad-6c03-0bd1-7ff1-be58d77bdbfb">
<File Id="owf5CBC0BA2AFED08858BFCBD8FADA090AA" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\MimeKit.dll" KeyPath="yes" />
</Component>
<Component Id="owcEC65F952743814884E18EA2D9354A669" Guid="38d6a9f5-abe4-47e8-0581-a49e317d162e">
<File Id="owfEC65F952743814884E18EA2D9354A669" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\nClam.dll" KeyPath="yes" />
</Component>
<Component Id="owc2F797511155AB7F31D86B59C97360B83" Guid="30304bd5-d1b8-5444-507b-f21af4166ed6">
<File Id="owf2F797511155AB7F31D86B59C97360B83" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\Newtonsoft.Json.dll" KeyPath="yes" />
</Component>
<Component Id="owcDC8C6A31CE069531B58628BFDFB438B2" Guid="36bc12f7-10e5-109e-dec7-11e71a6eca4e">
<File Id="owfDC8C6A31CE069531B58628BFDFB438B2" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\Persits.PDF.dll" KeyPath="yes" />
</Component>
<Component Id="owcAA3E0EDCB901B90EAD57533DCB887358" Guid="0f8d16d5-628b-d3c0-5e4b-9b9aec7023a3">
<File Id="owfAA3E0EDCB901B90EAD57533DCB887358" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\Renci.SshNet.dll" KeyPath="yes" />
</Component>
<Component Id="owc9FB0F335EAC8F020C60EB8D8E7557EC2" Guid="870ebe48-1ef8-7b4e-f6bc-2e0cdf949ec7">
<File Id="owf9FB0F335EAC8F020C60EB8D8E7557EC2" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\Syncfusion.Compression.Base.dll" KeyPath="yes" />
</Component>
<Component Id="owc3CFA12764FA10A0763D34E222C696B52" Guid="75ef6e53-57cb-e72e-c6b0-40c64f4ca167">
<File Id="owf3CFA12764FA10A0763D34E222C696B52" Source="$(var.SourceDir)\EudoProcessWindowsService\bin\Release\Syncfusion.XlsIO.Base.dll" KeyPath="yes" />
</Component>
</Directory>
</Directory>
</Directory>
<Directory Id="ProgramMenuFolder">
<Directory Id="scd66D24B92BA19185C0B453DDCBD00E39B" Name="Eudoweb">
<Directory Id="scd6FFE6E625369E4B5D473D7B41E91288D" Name="EudoProcess" />
</Directory>
</Directory>
<Directory Id="SendToFolder" />
<Directory Id="StartMenuFolder" />
<Directory Id="StartupFolder" />
<Directory Id="System64Folder" Name="System64Folder" />
<Directory Id="SystemFolder" Name="SystemFolder" />
</Directory>
<ComponentGroupRef Id="Custom" />
</Module>
</Wix>
EudoProcessInstall2019_IsWiXSetup\Code\Product.wxs :
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension" xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<!--
MSIProductVersion is defined in EudoProcessInstall2019_IsWiXSetup.wixproj as 0.0.1 for local desktop builds.
You should pass in the MSBuild Property 'MSIProductVersion' to override it during an automated build.
See http://msdn.microsoft.com/en-us/library/windows/desktop/aa370859%28v=vs.85%29.aspx for information on allowable values.
The Product@Id attribute (ProductCode Property) will be a random GUID for each build. This is to support "Major Upgrades" where each install
is a seamless uninstall/reinstall.
-->
<Product Id="*" Name="EudoProcess" Language="1036" Version="$(var.MSIProductVersion)" Manufacturer="Eudonet" UpgradeCode="83d92d93-40cb-4720-ba3c-254798e06e01">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" AdminImage="yes" InstallPrivileges="elevated" Keywords="Installer,MSI,Database" Languages="1036" Manufacturer="Eudonet" Platform="x86" Comments="Installation EudoProcess" Description="Installation EudoProcess" />
<!-- Major Upgrade Rule to disallow downgrades -->
<MajorUpgrade DowngradeErrorMessage="Une version plus récente de [ProductName] est déjà installée." />
<MediaTemplate />
<!--Common Launch Condition-->
<!-- Examples at http://wixtoolset.org/documentation/manual/v3/customactions/wixnetfxextension.html -->
<PropertyRef Id="NETFRAMEWORK40FULL" />
<Condition Message="[ProductName] requiert .NET Framework 4.0.">Installed OR NETFRAMEWORK40FULL</Condition>
<!-- Include User Interface Experience -->
<Icon Id="Icon.ico" SourceFile="Resources\favicon.ico" />
<Property Id="ARPPRODUCTICON" Value="favicon.ico" Admin="yes"></Property>
<UIRef Id="UI" />
<!-- Include Features and Directories Fragment -->
<DirectoryRef Id="INSTALLLOCATION" />
</Product>
<Fragment>
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="COMPANYFOLDER" Name="EUDOAGENTS">
<!--<Directory Id="ProgramFilesFolder">-->
<Directory Id="INSTALLFOLDER" Name="EudoProcess" />
</Directory>
</Directory>
</Fragment>
</Wix>
EudoProcessInstall2019_IsWiXSetup\Code\Features.wxs :
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi" xmlns:iis="http://schemas.microsoft.com/wix/IIsExtension" xmlns:netfx="http://schemas.microsoft.com/wix/NetFxExtension" xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Fragment>
<!--Content-->
<Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="CompanyFolder" Name="EUDOAGENTS">
<Directory Id="INSTALLLOCATION" Name="EudoProcess">
<Merge Id="EudoProcessInstall2019_IsWiXMM" SourceFile="$(var.EudoProcessInstall2019_IsWiXMM.TargetPath)" DiskId="1" Language="1036" />
</Directory>
</Directory>
</Directory>
<FeatureGroup Id="features">
<Feature Id="EudoProcess" Title="EudoProcess" Description="Installe tous les fichiers nécessaires pour EudoProcess" Level="1" AllowAdvertise="no" ConfigurableDirectory="INSTALLLOCATION" Display="expand" TypicalDefault="install">
<MergeRef Id="EudoProcessInstall2019_IsWiXMM" />
</Feature>
</FeatureGroup>
</Fragment>
</Wix>
EudoProcessInstall2019_IsWiXSetup.wax :
<?xml version="1.0" encoding="utf-16"?>
<Configuration xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<DeployedProjects>
<string>..\EudoImport\EudoImport\EudoImport.csproj</string>
<string>..\EudoMailing\EudoMailing\EudoMailing.csproj</string>
<string>EudoProcessConfig\EudoProcessConfig.csproj</string>
<string>EudoProcessIHM\EudoProcessIHM.csproj</string>
<string>EudoProcessInterfaces\EudoProcessInterfaces.csproj</string>
<string>EudoProcessSql\EudoProcessSql.csproj</string>
<string>EudoProcessWCF\EudoProcessWCF.csproj</string>
<string>EudoProcessWindowsService\EudoProcessWindowsService.csproj</string>
<string>..\EudoQuery\EudoQuery\EudoQuery.csproj</string>
<string>..\EudoReport\EudoReport\EudoReport.csproj</string>
<string>..\EudoSynchroExchange\EudoSynchroExchangeInterface\EudoSynchroExchangeInterface.csproj</string>
<string>..\EudoTreatment\EudoTreatment\EudoTreatment.csproj</string>
</DeployedProjects>
<DirectoryMappings>
<Item Key="" Value="INSTALLLOCATION" />
</DirectoryMappings>
<FileMappings />
<DeploySymbols>false</DeploySymbols>
<DeployLocalizations>true</DeployLocalizations>
<DeployExternalLocalizations>false</DeployExternalLocalizations>
</Configuration>
EudoProcessInstall2019_IsWiXMMcustom.wxs :
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Fragment>
<!-- Reference Custom Components Below -->
<ComponentGroup Id="Custom">
</ComponentGroup>
<!-- Author Custom Components Below -->
<DirectoryRef Id="MergeRedirectFolder">
</DirectoryRef>
</Fragment>
</Wix>
Here is the current InstallShield installer configuration that I want to replicate:
General information :
Application Files :
Windows Service :
InstallShield installer dependencies :
回答1:
That error just means the service failed to start. I'd suggest using IsWiX to define the service but not try to start it during install. After installation profile the service to understand what's missing. If it's a missing assembly it might show just by running the service EXE from a command prompt. If the EXE has good logging and error handling you should be able to catch it there.
There's no reason to be authoring installer class custom actions to install a service.
回答2:
Install Methods: I guess checking the "Install Class"
box in ".NET Properties"
of "EudoProcessWindowsService.main"
will cause the installer method from the ServiceProcessInstaller Class within the assembly to be run? What does the code there actually do? See more here on this. I don't know of a way in WiX to run installer methods short of kicking off InstallUtil.exe via a custom action.
Note: Generally the use of service installer classes should be reserved for development and testing use only: How to get MSI Installer to run some code on uninstall of a service.
The built-in MSI constructs for service installation / control (ServiceInstall and ServiceControl tables) should eliminate the need to run custom code during installation.
InstallUtil.exe: If you run InstallUtil.exe
after installation (first uninstall and then install service) does it then work?
Debugging Resources: I have a couple of pre-existing answers on debugging services and application launch issues:
- Check-List: Desktop applicaton not opening after installation in client system
- Check-List (older): Windows Application Startup Error Exception code: 0xe0434352
- Dependency Scanning: Which winform project files should be packed up into the installer
Some Links:
- MSVS Installers & Custom Actions
- WiX Toolset PermissionEx Problem - App Does Not Run After Installation
- https://www.coretechnologies.com/WindowsServices/FAQ.html
- Is it possible to use external exe with ServiceInstall wix element?
来源:https://stackoverflow.com/questions/57269683/windows-service-fails-to-start-on-install-wix-iswix-verify-that-you-have-suffic