所以我试图安装使用TopShelf,本身运行良好,没有任何问题的应用程序构建的应用程序。我遇到的问题是当我尝试安装服务时。 TopShelf服务使用myapp.exe install <options>
指令安装(从管理员命令行)。我已经将该指令包装在自定义操作中(请参阅下文)。这是运行的,因为我可以在安装时看到一个黑盒弹出窗口。但是,该服务无法安装。当我从管理员命令行运行msi安装时,该服务将正确安装。我已将所有与管理员相关的参数包含在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>
感谢您的意见,应尝试deferrered敲定变化时,我得到了一会儿以后。该topshelf生态系统是值得一看,它包装了Windows服务启动停止和配置,从而使Windows服务项目可以从调试没有包装它作为一个控制台应用程序来运行,也可以从主应用程序与开关安装没有重新编译等。绝对值得一看,我的解释并不是很棒! –
继承人一个链接:http://topshelf-project.com –
布里尔,你是正确的,改变CA有:'冒充=“无”','执行=“延期”'并设置执行'=前“InstallFinalize”'感谢您的帮助!只是要弄清楚现在卸载!从来没有这么麻烦! –