Я исследовал всю сеть в поисках подсказок о том, как этого добиться, но не повезло.У меня есть проект установщика WiX в Visual Studio 2013, который устанавливает службу Windows (она не содержит пользовательский интерфейс, только консоль), и, поскольку она устанавливает службу, необходимо указать пользователя, и права этого пользователя будут действовать.Проблема в том, что этот пользователь жестко запрограммирован в моем файле .WXS, и он работает со стеками DEV и QA, но пользователь не существует в prod, поэтому программа установки не работает.
Я быхотел бы определить, могут ли файлы WXS иметь определенные для среды учетные записи, определенные в виде файлов конфигурации, или существует что-то подобное.
Я не хотел бы иметь 3 проекта установки для каждой среды.
Вот текущий код WXS, отредактированный для простоты:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Product Id="Some ID"
Name="TestService"
Language="1033"
Version="1.0.0"
Manufacturer="TestManufacturer"
UpgradeCode="Some Upgrade Code">
<Package Compressed="yes"/>
<Media Id="1" Cabinet="test.cab" EmbedCab="yes"/>
<Property Id="LOGIN">HARD-CODED USER</Property>
<Property Id="PASSWORD">HARD-CODED PASSWORD</Property>
<Directory Name="SourceDir" Id="TARGETDIR">
<Directory Name="ProgramFilesFolder" Id="ProgramFilesFolder">
<Directory Name="TestDir" Id="_1">
<Directory Name="Service.ServiceSub" Id="_2">
<Component Id="_1" Guid="Some Guid">
<File Source="$(var.Service.ServiceSub.TargetPath)" />
<ServiceInstall
Id="TestServicee"
Name="TestService"
DisplayName="Test"
Type="ownProcess"
Start="auto"
ErrorControl="normal"
Description="This is a test"
Account="[LOGIN]"
Password="[PASSWORD]" />
<ServiceControl Id="StopTestService" Name="TestService" Stop="both" Wait="yes" Remove="uninstall" />
</Component>
</Directory>
</Directory>
</Directory>
</Directory>
<Feature Id="_1" Level="1">
<ComponentRef Id="_1"/>
</Feature>
</Product>
Скажите, пожалуйста, если что-то не ясно, я могу расширить информацию.Спасибо за вашу помощь.