См. Ниже инструкции; на данный момент у меня есть жестко закодированные папки источника и назначения (эти папки формируются во время процесса установки) в проекте настройки MSI. Примечание. Ниже пути к файлу - это путь, в котором указывается место установки пакета MSI, а не местоположение источника. Вопрос о том, как установить значения целевого или исходного значения, скрывая жестко закодированные значения, такие как [INSTALLLOCATION] \ App_Config \COPYFILE post MSI Установка с использованием WIX
На данный момент я передаю УСТАНОВКУ (E: \ Websites \ SCBUDirect \ Website \ SCBUDirect.B2CWeb) через командной строки и хотите установить значение папки назначения как [INSTALLLOCATION] \ App_Config \, но не знаете, как это можно реализовать с помощью настроек свойств или пользовательских действий, которые я пытался, но не смог заставить его работать.
Ниже приведен фрагмент (из heat.exe) компонента файла, который необходимо скопировать.
<Component Id="cmp209B0DBB82F9FF15193D29F0BD337B7F" Directory="dirB0A921E55A598C65B18B4E47885629C3" Guid="{3B140259-FCC7-4D2E-8629-CBB879BBA46C}">
<File Id="filBC5CC5B8DCC504F6DC75A7B2673E7D0D" KeyPath="yes" Source="C:\Workspaces\Chatra\Website\SCBUDirect.B2CWeb\App_Config\basic.log4net.dev" />
</Component>
Вот моя часть моего кода в product.wxs
<Fragment>
<Property Id="SourceFilesFolder" Value="E:\Websites\SCBUDirect\Website\SCBUDirect.B2CWeb\App_Config\basic.log4net.dev" />
<Property Id="DestFilesFolder" Value="E:\Websites\SCBUDirect\Website\SCBUDirect.B2CWeb\App_Config\" />
<ComponentGroup Id="CopyFiles">
<ComponentRef Id="CMP_LOG4TXT" />
</ComponentGroup>
<Component Id="CMP_LOG4TXT" Guid="341BD660-7249-42DD-9744-DBEF0776AD52" Directory="INSTALLLOCATION" KeyPath="yes">
<CopyFile Id="Copy_LOG4TXT"
SourceProperty="SourceFilesFolder"
DestinationProperty="DestFilesFolder"
DestinationName="basic.log4net" />
</Component>
</Fragment>
Я хотел бы начать с запуска MSI с помощью 'MSIexec/I yourProduct.msi/lvoicewarmupx log.txt', а затем поиск в результате log.txt для Id и Guid компонента, чтобы увидеть, если это дает вам никакой полезной информации , – BryanJ
'CopyFile' не копирует файл до' InstallExecuteSequence' –
Привет, теперь я смог понять, в чем проблема, я не указал компонент копирования в функции. Но теперь я не хочу жестко кодировать источник и место назначения. Можно ли это сделать. На данный момент я прохожу через INSTALLLOCATION (E: \ Websites \ SCBUDirect \ Website \ SCBUDirect.B2CWeb) через командную строку и хочу установить значение папки назначения как [INSTALLLOCATION] \ App_Config \, но не уверен, как это можно реализовать с помощью настройки свойств или пользовательские действия, которые я пытался, но не смогли заставить его работать. – Chat