在客户端系统中安装后,桌面应用程序无法打开

时间:2018-11-28 05:53:40

标签: c# windows-installer

我目前正在使用带有4.6.1 .net框架的Visual Studio 2017。我为桌面应用程序创建了安装文件,安装程序可以在我的系统中完美安装并运行。问题是该安装程序已成功在其他计算机上安装,但未打开该应用程序。

修改

在客户端系统中下载了.net框架,但仍然出现相同的问题。

修改2

我使用Dependency Walker进行了依赖项扫描。它说有很多文件,系统找不到-打开文件时出错。系统找不到指定的文件。

  API-MS-WIN-APPMODEL-RUNTIME-L1-1-0.DLL
  API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL
  API-MS-WIN-CORE-WINRT-L1-1-0.DLL
  API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL
  API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL
  API-MS-WIN-SHCORE-SCALING-L1-1-1.DLL
  DCOMP.DLL
  IESHIMS.DLL

此外,发现x86类型的模块(包括setup.exe)时出错,但是我不知道这是怎么发生的。我选择列出的任何位置都选择了64。请找到screenshot。如果确实存在问题,我该如何解决?

5 个答案:

答案 0 :(得分:1)

  

应用程序启动问题 :该主题最近有一些答案,请参见此答案   对于链接:    WiX Toolset PermissionEx Problem - App Does Not Run After Installation   (我知道大多数人不会访问链接,但是请尝试使用这些链接-至少是粗体的链接。)

Some information on debugging tools。 ProcMon.exe,Visual Studio,Dependency Walker等... And a little more fleshed out

To summarize-鱼雷,散开-没有什么比这更愚蠢的了:-):

始终检查所有事件日志应用程序日志 MSI日志(如果有)。只需提一下。

如果非常棘手,请maybe try to attach debugger for testing as described here-只要应用程序完全启动。然后逐步执行代码。 您可能只是缺少运行时或存在位问题

其他想法:

  1. 配置设置
    • 开发者之罪:硬编码参考?测试服务器/ UAT链接?
    • 清单 INI文件 XML文件
    • 注册表设置? HKLM / HKCU
    • 连接字符串。也请参见下面的“身份验证和授权”部分。
  2. 平台和位数? (ARM,Intel 32/64等)。
    • 从错误的注册表配置单元读取错误的情况很常见(浪费时间的):
      • HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\MyApp\MySettings(32位)
      • HKEY_LOCAL_MACHINE\SOFTWARE\MyApp\MySettings(64位)
  3. 先决条件&Dependencies
  4. 缺少/损坏的注册(间接依赖项)
  5. 权限和特权? -本地-ACL permissionsNT privileges
  6. 身份验证/授权-与网络相关
    • 本地用户,域用户,Active Directory:组成员身份,组策略等...
    • 启动用户:用户个人资料问题?也许尝试用另一个登录失败的用户登录?
    • 身份验证模式:Windows身份验证。 SQL Server身份验证等...
  7. 常规网络和代理问题? (代理,WINS,DNS以及网络中涉及的所有复杂性。UNC路径可达吗?)
  8. 许可? (可能与硬件加密狗和驱动程序有关)
  9. 安全软件干扰? (软件/硬件防火墙,防病毒,加密工具和套件等)
  10. 操作系统版本或版本? (Windows 7 problems
  11. 本地化?非英语系统?
  12. 驾驶员?
  13. 硬件?
  14. 编码?
  15. 系统损坏? (错误的时间,磁盘错误,文件和路径名太长,磁盘已满,“错误”)
  16. 目标机器的性质?虚拟机?国企?目标机器是真实机器吗?测试机器?
  17. 锁定/阻止/使用中的文件和注册表项?
  18. 恶意软件?就问题而言,几乎可以引起任何后果。

答案 1 :(得分:0)

确保在客户端系统上安装了4.6.1 .net框架。因为该应用程序需要在计算机上安装.net框架工作

答案 2 :(得分:0)

要成功部署应用程序,还必须部署该应用程序引用的所有组件。View the Deployment Process

用户可能需要计算机上的管理权限或类似的用户权限才能安装自举组件。对于ClickOnce应用程序,这意味着用户可能需要管理权限才能安装该应用程序,而不管该应用程序指定的安全级别。安装该应用程序后,用户可以在没有管理权限的情况下运行该应用程序。

我假设您和您的客户端都以管理员身份运行安装和应用程序。

答案 3 :(得分:0)

可能的根本原因:

  1. 不满足系统先决条件,您应检查目标客户端系统上所有依赖项是否准备就绪,或将先决条件添加到安装指南中
  2. 权限问题,您可以使用管理员权限在本地复制文件或更改注册表,但客户端不是。如果是这样,则需要将文件更改为“ C:\ Users {用户名} \ AppData \ Roaming”或在客户端系统上以管理员权限安装。

在这种情况下,应用可能会在客户端系统中崩溃:

  1. 检查您的应用程序日志中是否有错误
  2. 检查Windows日志是否有任何错误
  3. 使用WinDbg.exe转储系统信息并进行调试

答案 4 :(得分:-1)

我以前也遇到过这样的问题。 只需尝试安装不在C:\ Drive程序文件内的其他位置。您可以选择其他驱动器,也可以安装在C驱动器中,但不能安装在程序文件中。