2017-09-14 112 views
0

我有以下問題: 我有setup.py文件 - 我使用「python setup.py bdist_wininst」將其更改爲.exe。安裝這不是沉默,當我啓動.exe文件安裝程序要求我選擇可取的Python安裝,我希望setup.exe安裝到。 現在我想安裝這個.exe文件爲Windows服務,這是我的維克斯代碼:使用WiX安裝和運行.exe作爲Windows服務

<?xml version="1.0" encoding="UTF-8"?> 
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"> 
    <Product Id="*" Name="TelnetInstaller" Language="1033" Version="1.0.0.0" Manufacturer="manufactur" UpgradeCode="24E13D15-CFF7-48EB-82EA-B1F9547F846C"> 
    <Package InstallerVersion="200" Compressed="yes" InstallScope="perMachine" /> 

    <WixVariable Id="WixUILicenseRtf" Value="$(var.ProjectDir)\License.rtf"/> 
    <Property Id="WIXUI_INSTALLDIR" Value="INSTALLLOCATION"/> 


    <MajorUpgrade DowngradeErrorMessage="A newer version of [ProductName] is already installed." /> 
    <MediaTemplate EmbedCab="yes"/> 
    <UIRef Id="WixUI_InstallDir"/> 

    <Directory Id="TARGETDIR" Name="SourceDir"> 
     <Directory Id='TempFolder'> 
     <Directory Id="INSTALLLOCATION" Name="MyApp" > 
      <Component Id='MyComponent' Guid='722E35C2-58F1-417D-AB02-2968CAF7C6D2'> 
      <File Id="mysetup_exe" Source="$(var.ProjectDir)\TelnetDS-0.9.win32.exe" /> 
      <ServiceInstall 
       Id="ServiceInstaller" 
       Type="ownProcess" 
       Vital="yes" 
       Name="Telnet" 
       DisplayName="Telnet DS service" 
       Description="DS for communicating with devices via Telnet protocol." 
       Start="auto"    
       ErrorControl="normal"  
       Interactive="yes" 
       > 

      </ServiceInstall> 
      <ServiceControl Id="StartService" Start="install" Stop="both" Remove="uninstall" Name="Telnet" Wait="yes" /> 
      </Component> 
     </Directory> 
     </Directory> 
    </Directory> 
    <Feature Id="MainApplication" Title="Main Application" Level="1"> 
     <ComponentRef Id="MyComponent" /> 
    </Feature> 
    <!--<CustomAction Id="run_setup" FileKey="mysetup_exe" ExeCommand="" 
        Execute="deferred" Impersonate="yes" 
        Return="check" /> 

    <InstallExecuteSequence> 
     <Custom Action="run_setup" Before="InstallFinalize">NOT Installed </Custom> 
    </InstallExecuteSequence>--> 
    </Product> 
</Wix> 

問題是,在期間產生的維克斯安裝.msi文件有一個問題:「請確認您有足夠的特權來安裝系統服務「 現在我不知道這是什麼原因 - 是這種情況,我確實沒有這種權限,或者我正在嘗試安裝需要我輸入數據的.exe(選擇python安裝文件夾)作爲服務。 你知道如何解決這個問題嗎?問候

回答

0

你可以嘗試以下方法,

確保所有服務窗口開始安裝/卸載或

安裝.NET Framework 4.5版

Error 1920 service failed to start. Verify that you have sufficient privileges to start system servicesstart-verify-that-you-have-sufficient-privileges-t

+0

我嘗試過關閉它,不起作用。我決定使用NSSM https://nssm.cc/ –

+0

好的,請檢查並確認NSSM。 – prem

+1

它可以工作,NSSM有一套很好的命令,你可以在cmd.exe中運行。 我剛添加了啓動批處理文件的自定義操作,該文件使用NSSM命令來安裝和運行我的服務 –