使用Inno Setup安装时,应用程序不起作用

我正在开发桌面数据库应用程序 使用rdlc报告和reportviewer。 在开发过程中一切都很好,reportviewer顺利地显示了所有数据。 我使用Inno Setup部署应用程序。 但是当我安装应用程序时,reportviewer没有显示数据。 数据正确插入表中。

对于工作不正确或完全失败的应用程序,当Inno Setup安装到Program Files夹时,首先要测试的是尝试将应用程序手动部署到同一文件夹。

如果应用程序即使在手动部署后也会失败,则最常见的问题是应用程序要求用户具有对应用程序文件夹的写入权限。 与现代版本的Windows一样,用户通常没有对Program Files夹的写入权限,该应用程序不起作用。 因此问题通常与Inno Setup无关,但这是应用程序本身的问题。

解决问题:

  • 最佳解决方案是重新设计应用程序,以便它不需要对其文件夹的写入权限。 Windows应用程序不应要求对其文件夹具有写入权限。 那是违反Windows准则的。 应用程序应将数据写入用户配置文件文件夹( C:\Users\username\AppData )或公共数据文件夹( C:\ProgramData )。
  • 一个肮脏的解决方法是让安装程序授予用户对安装文件夹的写入权限。 如果您无法修复应用程序(例如,它的第三方应用程序),请执行此操作。
    请参阅Inno设置 – 如何设置安装文件夹的权限 。
  • 更重要的解决方法是将应用程序配置为使用提升(管理员)权限执行。
    请参阅Inno Setup桌面快捷方式(链接),其中包含“以管理员身份运行”高级属性集或如何使用Inno Setup在文件上设置“以管理员身份运行” 。

另一种可能性是应用程序不是设计为从名称中有空格的文件夹( Program Files )执行。


另一件事是应用程序可能会被W​​indows文件虚拟化混淆(尽管不太可能)。 请参阅随Inno Setup安装的应用程序将文件写入未知位置而不是其安装文件夹 。