在安装程序完成时启动应用程序无法在用户模式下运行

费利克斯

我正在创建一个带有复选框的双模式安装程序,以使用户在安装后启动应用程序。

在机器范围内安装(管理模式)时,应用程序将按预期启动。

仅为用户安装(非管理员模式)时,该应用程序无法启动:

Action ended 9:04:52: LaunchApplication. Return value 3.
MSI (c) (F0:94) [09:04:52:151]: Note: 1: 2205 2:  3: Error 
MSI (c) (F0:94) [09:04:52:151]: Note: 1: 2228 2:  3: Error 4: SELECT `Message` FROM `Error` WHERE `Error` = 2896 
DEBUG: Error 2896:  Executing action LaunchApplication failed.
The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2896. The arguments are: LaunchApplication, , 

我看过这个问题,它有同样的错误,但是我的文件名已经放在方括号中:

<Property Id="WixShellExecTarget" Value="[#FILE_SweetApp.WPF.exe]" />

有任何想法吗?


编辑

这是相关代码:

<?define MyPath="$(var.SolutionDir)MyApp.WPF\bin\$(var.Configuration)"?>

<ComponentGroup Id="MyApp.WPF"  Directory="APPLICATIONFOLDER">
    <Component Id="MainExecutable" Guid="{my guid}">
        <File Id="FILE_App.WPF.exe" Source="$(var.MyPath)\myapp.exe" />
    </Component>
    ...
</ComponentGroup>

<Property Id="WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT" Value="Launch app when setup exits." />
<Property Id="WixShellExecTarget" Value="[#FILE_App.WPF.exe]" />
<CustomAction Id="LaunchApplication" BinaryKey="WixCA" DllEntry="WixShellExec" Impersonate="yes" />

<UI>
  <Publish Dialog="ExitDialog" Control="Finish" Order="1" Event="DoAction" Value="LaunchApplication">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT installed</Publish>
</UI>

编辑2

尽管在安装程序完成时启动应用程序不适用于全新的应用程序安装,但奇怪的是,当我更新应用程序时,它可以工作。

我认为可能与.NET版本有关,因为此博客似乎具有与我相同的症状。根据该帖子,自定义操作的空参数是红色鲱鱼,因为自定义操作很可能甚至不会运行。

费利克斯

问题是#FILE_App.WPF.exe价值。

<Property Id="WixShellExecTarget" Value="[#FILE_App.WPF.exe]" />

对于每个用户的全新安装,该值为:

%userprofile%\AppData\Local\Programs\MySweetApp\MySweet.exe

而不是实际的安装位置:

%userprofile%\AppData\Local\Apps\MySweetApp\MySweet.exe

因此,LaunchApplication自定义操作无法找到.exe并失败。

解决方案是ExeLocation使用正确的.exe位置创建一个自定义属性(),并将其用于自定义操作:

<Property Id="WixShellExecTarget" Value="[ExeLocation]" />

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在调试模式下启动时,Android应用程序崩溃

检测用户单击或Windows启动时在C#中运行的应用程序

确定.Net核心控制台应用程序是否在用户交互模式下运行

在纱线群集模式下运行Spark时出错(应用程序返回退出代码1)

使用postbuild事件运行安装程序后,应用程序无法启动

安装完成后无法从install4j启动器运行应用程序

Electron应用程序可以捆绑VueJS,MongoDB等吗?还是需要在用户PC上安装它们才能运行该应用程序?

将应用程序安装到设备Xcode 11.6时无法运行应用程序错误

如何在启动时以特定用户身份运行应用程序?

尝试在启动时以全屏模式启动应用程序

在用户环境中启动应用程序

在用户登录之前启动后唤醒并运行应用程序?

在应用程序模式下启动Google Chrome

安装完成后启动应用程序

Windows:当其他完成时如何启动应用程序

安装后应用程序无法启动。运行“快速运行”可完美运行

创建后台服务,该服务在用户启动任何已安装的应用程序时显示消息

应用程序无法在从Visual Studio安装程序创建的管理模式下启动

Xamarin Android启动时,应用程序在发布模式下崩溃

如何为应用程序创建服务用户并在启动时从该用户运行它

无法在旧版模式下启动Windows 10安装程序

如何在用户无法运行的情况下从计划任务运行 VB6 应用程序

在引导访问模式下让设备运行多个应用程序

Python CLI 应用程序在从 PyPI 安装时无法运行,在本地安装时运行良好

当需要用户输入时,如何在启动时自动运行应用程序?

应用程序不会在调试模式下启动

Xamarin 应用程序在发布模式下启动时崩溃

在全屏模式下运行应用程序时,Java Swing 无法找出 JPanel 的问题

如何在用户登录时以 root 身份启动 GUI 应用程序?