Wix를 처음 사용합니다. 사용자 지정 작업을 실행하기 위해 버전 3.9를 사용하고 있습니다. 파일을 복사하고 설치 및 제거 할 수 있지만 행운과 함께 실행되도록 사용자 지정 작업을 시도하고 있습니다.Wix 사용자 지정 작업이 실행되고 있지 않습니다.
다음은 작은 예입니다. ComponentGroup은 열에 의해 생성 된 다른 파일에 있습니다. 로깅을 사용하여 설치 프로그램을 실행하고 설치시 실패한 작업에 대한 로그 파일에는 아무 것도 표시하지 않습니다. 제거를 실행하면 cmd 프롬프트가 열리는 것을 볼 수 있습니다.
나는 또한 윅스 조건과 그 평가 방법에 대해 혼란 스럽다. 다양한 소스에서이 나는 조건을보고 속성이 0 또는 false
- MyProperty가 true를 돌려주는 것입니다
조건에 사용되면 MyProperty가 false이면 MyProperty가 false를 반환하지 않습니다. MyProperty가 true 인 경우 조건에서 MyProperty가 false를 반환합니다. 이것은 나를 혼란스럽게하고 설치 제거 과정에서 발생하는 사용자 정의 동작이 나를 혼란스럽게합니다.
도움을 주시면 감사하겠습니다.
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:bal="http://schemas.microsoft.com/wix/BalExtension" >
<Product Id="*" Name="GtLite" Language="1033" Version="1.0.0.0" Manufacturer="Acme" UpgradeCode="0cd4e6db-ec32-42b4-bcb8-1f51f37c7b44">
<Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" />
<!-- Specify minimal UI -->
<UIRef Id="WixUI_Minimal" />
<MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." />
<MediaTemplate EmbedCab="yes" />
<!-- Features to install -->
<Feature Id="ProductFeature" Title="FunTimes" Level="1">
<ComponentGroupRef Id="BinFilesGroup" />
</Feature>
<CustomAction Id="RunDataUtility"
Directory="FUN_FOLDER" ExeCommand="cmd.exe /k "echo hello > [FUN_FOLDER]echo_test.txt"" Execute="immediate" Return='asyncNoWait' />
<InstallExecuteSequence>
<Custom Action="RunDataUtility" After="InstallFiles" >NOT INSTALLED</Custom>
</InstallExecuteSequence>
<Directory Id="TARGETDIR" Name="SourceDir">
<!-- Define Installation folder under Program Data -->
<Directory Id="ProgramFolder">
<Directory Id="INSTALL_FOLDER" Name="Acme" >
<Directory Id="FUN_FOLDER" Name="FunTimes" >
</Directory>
</Directory>
</Directory>
</Directory>
</Product>
</Wix>
에코 테스트 텍스트 파일의 출처는 어디입니까? 설치하는 경우 파일을 설치하기 전에 즉시 사용자 지정 작업을 실행하기 때문에 사용자 지정 작업을 연기해야합니다. – PhilDW
echo_test.txt라는 파일에 대한 에코는 사용자 지정 작업을 실행하는 테스트입니다. 커스텀 애프터 태그를 InstallFinalize로 바꾸었지만, 즉시 실행할 수있게되었습니다. 그리고 이제는 실제 커스텀 액션이 설치 폴더에서 실행 중입니다. 또한 BIN_FOLDER을 FUN_FOLDER (으)로 변경했습니다. 나는 아직도 그것을 아주 잘 이해하고 그것을 이해하고 있습니다. – dgxhubbard