InstallPrivileges: Before trying anything else, can you please set the
InstallPrivileges attribute
of the Package element to "elevated"
? Just to make sure - I think elevated is default (once InstallScope is perMachine at least?).
Compiling?: It is not quite clear what happens. Does the WiX project fail to compile? The first thing that looks odd is that you have no Manufacturer value - maybe you redacted it before posting? As far as I know WiX 3 will refuse to compile unless Manufacturer
has a value. If it is missing, please add it.
<Product Id="*" Name="G.Installer" Language="1033" Version="1.0.0.0"
Manufacturer="YOURCOMPANYNAMEHERE" UpgradeCode="PUT-GUID-HERE">
Setup Behavior: If the setup compiles, does it start to install when run, but fail to complete? Or does it complete and the service fails to start? Are you installing with an administrator account and getting a UAC prompt when you kick off the install?
Logging: We need some more information what happens, and if the setup fails to install you should enable MSI logging to see what is going on. First you check the system's event logs, and then you run your setup installation whilst enabling verbose MSI logging. I like to enable logging for all MSI installations. Minor performance hit, but a real log-file is always available when you suddenly need one. You can enable logging for all MSI files as explained on installsite.org (section: "Globally for all setups on a machine"). MSI log files will then just sit in your %TEMP% folder
after installation. They have a random hex name, and you can flush them all regularly so they don't pile up. You sort by modify date / time to find the latest one(s) created - obviously. Some logging and log-file interpretation hints can be found here.
Suggestions: 1
: I would try to set up the files needed to run the service manually on a virtual machine and register them to
verify that the service runs without problems. 2
: Do a complete
rebuild of the WiX setup deleting any temporary files and wixobj
files. It is possible that your installer just does not compile, but
that it links with pre-existing wixobj
files from a previous compile. A "high astonishment" factor (linking with outdated files).
Service Startup Problems: And just to state the obvious: if the service fails to start, enable its maximal logging level and check the event log and whatever other logging you might have. Run dependency checking (Dependencies.exe
- rewrite of Dependency Walker
) and check assembly binding. Check for dev-box sins in your config file (hard coded erroneous values), Etc... Don't need to tell you this, but it is my usual checklist (that somebody downvoted for some reason, let me know what errors you find in there maybe? I am a deployment specialist not a coder - it is more of an "ideas" list than a true checklist).
Source Simplification: WiX source files can normally be simplified as explained here: Syntax for guids in WIX? Sample:
<Component Id="System.Runtime.InteropServices.RuntimeInformation.dll" Guid="{00000000-0000-0000-0000-000000000000}">
<File Id="System.Runtime.InteropServices.RuntimeInformation.dll" Name="System.Runtime.InteropServices.RuntimeInformation.dll" Source="$(var.G_TargetDir)System.Runtime.InteropServices.RuntimeInformation.dll" />
</Component>
vs
<Component>
<File Source="$(var.G_TargetDir)System.Runtime.InteropServices.RuntimeInformation.dll" />
</Component>
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…