私はsetup.pyファイルを持っていました。 "python setup.py bdist_wininst"を使用して.exeに変更しました。これのインストールはサイレントではありません。私が.exeファイルを起動すると、インストールプログラムはsetup.exeをインストールしたいpythonのインストールを選択するように求められます。 今私はここに私のウィックスコードは、Windowsのサービスとして、この.exeファイルをインストールしたい:WiXを使用してWindowsサービスとして.exeをインストールして実行する
<?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インストールフォルダ)をサービスとしてインストールします。 これを修正する方法を知っていますか?挨拶
のインストールインストール/アンインストールまたは
を開始する前に閉じていることを確認しますそれは動作しません。 NSSMを使用することに決めました https://nssm.cc/ –
OK NSSMについて確認して確認してください。 – prem
NSSMには、cmd.exeで実行できる素晴らしいコマンドセットがあります。 NSSMコマンドを使用して自分のサービスをインストールして実行するバッチファイルを起動するカスタムアクションを追加したばかりです –