문제

서비스를 제거하면 서비스를 제거하기 전에 그러한 서비스와 그러한 서비스를 중지 해야하는 오류가 발생합니다. 이것은 불만족 스럽습니다. 설치되지 않은 상태는 자동으로 중지해야합니다.

나는 이번 달 전에 블로그 나 뉴스 그룹 게시를 발견하고 제대로 작동하게했지만 이제는 일을 중단했습니다. 그리고 나는 게시물에 대한 링크가 없습니다 ... 다른 사람이 그것이 어디에 있는지 알고 있습니까? :) 나는 미묘한 것을 바꾸고 작동을 멈췄을 것 같아요. Wix는 문제 해결하기가 매우 어렵다는 것을 알게되었습니다.

X_ WIN_ SERVICE_ 이름을 가져 오기 위해 다음과 같은 포함을 사용하고 있습니다 (미안합니다. 이 경우 입력 파일로 명시 적으로 설정했기 때문에 설치에 중요하지 않습니다. 여기에는 내 WXS 파일의 구성 요소 전에 사용됩니다.

<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">

<?ifndef SetupXWinServiceRegistryProperties ?>
<?define SetupXWinServiceRegistryProperties ?>

<?define XWinServiceRegistryKey='Software\X\Y'?>

<Property Id="X_WIN_SERVICE_NAME">
  <RegistrySearch Id="XWinServiceNameSearch"
                    Root="HKLM"
                    Key="$(var.XWinServiceRegistryKey)"
                    Name="ServiceName"
                    Type="raw"/>
</Property>

<?endif?>
</Include>

다음 포함 구성 요소는 설치시 레지스트리 값을 저장하는 데 사용됩니다.

<Include xmlns="http://schemas.microsoft.com/wix/2006/wi">

<?ifndef WriteXWinServiceRegistryProperties ?>
<?define WriteXWinServiceRegistryProperties ?>

<Component Id="CompWriteXWinServiceRegistryProps"
  Guid="some guid">

<!-- Write properties to the registry. Then they will be 
       accessable during uninstall. -->

<RegistryValue Root="HKLM"
   Key="$(var.XWinServiceRegistryKey)"
   Name="ServiceName"
   Type="string"
   Value="[X_WIN_SERVICE_NAME]"
   Action="write" />

</Component>

<?endif?>

</Include>

설치 후 시스템을 확인했으며 레지스트리 값이 올바르게 작성되었습니다. 서비스가 설정된 내 구성 요소의 부품은 다음과 같습니다.

          <ServiceInstall Id="ServiceInstallXWinService"
                          Name="[X_WIN_SERVICE_NAME]"
                          Start="auto"
                          DisplayName="xxx"
                          Description="yyy"
                          Account="[X_WIN_SERVICE_USER]"
                          Password="[X_WIN_SERVICE_PASSWORD]"
                          Type="ownProcess"
                          ErrorControl="normal"
                          Vital="yes" />

          <ServiceControl Id="ServiceInstallXWinService" 
                          Name="[X_WIN_SERVICE_NAME]"
                          Stop="both"
                          Remove="uninstall"
                          Wait="yes" />

어떤 아이디어?

도움이 되었습니까?

해결책

X_WIN_SERVICE_NAME 속성이 제거되지 않은 경우 올바른 값으로 설정되어 있다고 확신합니까? 장점 로그 파일을 사용하여 검색이 값을 올바르게 설정하고 있는지 확인하십시오. 모든 것이 잘 보입니다 (나는 단편을 사용하는 대신 파일을 포함하는 이유를 모르겠지만).

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top