TopShelfを使用して構築されたアプリケーションをインストールしようとしています。アプリケーション自体はうまく動作し、問題はありません。私が遭遇する問題は、サービスをインストールしようとするときです。 TopShelfサービスは、myapp.exe install <options>
命令を使用して(管理者コマンドラインから)インストールされます。私はカスタムアクションで命令をラップしました(下記参照)。インストール時にブラックボックスのポップアップが表示されるので、これが実行されます。ただし、サービスのインストールに失敗します。管理者コマンドラインからmsiをインストールすると、サービスが正しくインストールされます。私はすべての管理者関連のパラメータをWiXファイルに含めました(以下も参照してください)。私は完全にアイデアがなくなり、助けが必要な人は誰でもWiXファイルで何かを見ることができますか、誰が何がサービスのインストールを妨げているか考えている人はいますか?WiXでTopShelfをインストールすると、管理者権限で失敗する
Topshelf - Custom Action in Wix Not Executing
Add Coffee and Shake Well - TopShelf
を私も実行するために別のWiXのカスタムアクションプロジェクトのtopshelfアプリへの呼び出しをラップしようとしていると、これも同じで失敗した:私は試してみました何
理由。
<Product Id="*" Name="PackageName"
Language="1033"
Version="1.0.0.0"
Manufacturer="Manufacturer"
UpgradeCode="e7780903-3cf9-4ecc-b65a-45bc18b500df">
<Package InstallerVersion="200"
Compressed="yes"
InstallScope="perMachine"
InstallPrivileges="elevated"
Platform="x64" />
<Property Id="MSIUSEREALADMINDETECTION" Value="1" />
<MajorUpgrade AllowSameVersionUpgrades="yes"
DowngradeErrorMessage="A newer version of [ProductName] is already installed."
Schedule="afterInstallInitialize" />
<MediaTemplate EmbedCab="yes"/>
<Feature Id="ProductFeature" Title="FeatureName" Level="1">
<ComponentGroupRef Id="ProductComponents" />
</Feature>
<CustomAction Id="InstallService"
FileKey="MyApp.exe"
ExeCommand="install"
Impersonate="yes"
Execute="immediate" />
<CustomAction Id="StopService"
FileKey="MyApp.exe"
ExeCommand="stop"
Execute="immediate" />
<CustomAction Id="UninstallService"
FileKey="MyApp.exe"
ExeCommand="uninstall"
Execute="immediate" />
<InstallExecuteSequence>
<Custom Action="InstallService" After="InstallFinalize" >
NOT Installed AND NOT REMOVE
</Custom>
<Custom Action="StopService" After="InstallInitialize" >
(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")
</Custom>
<Custom Action="UninstallService" After="StopService">
(NOT UPGRADINGPRODUCTCODE) AND (REMOVE="ALL")
</Custom>
</InstallExecuteSequence>
</Product>
あなたのコメントをお寄せいただきありがとうございます。後で猶予が得られたら、延期終了の変更をお試しください。トップシェルフエコシステムは一見価値があります.Windowsサービスの開始と停止を包括して、Windowsサービスプロジェクトをコンソールアプリケーションとしてラップせずにデバッグから実行できるようにします。また、スイッチを使ってメインアプリケーションからインストールすることもできます再コンパイルせずに、見て分かる価値がある、私の説明は素晴らしいことではありませんでした! –
Hetへのリンク:http://topshelf-project.com –
Brill、あなたは正しいです、CAは次のものを持つように変更します: 'Impersonate =" no "'、 'Execute =" deferred "' set Execute 'Before = "InstallFinalize"あなたの助けに感謝します!今すぐアンインストールを把握してください!決してそんなに困ったことはありません! –