2

我使用过 Flexera 的 Installshield,除了它放在开始菜单和桌面上的快捷方式外,它似乎大部分都可以工作。

当程序启动并在打开 sqlite 数据库文件时返回错误时会出现问题。

通过从程序文件文件夹中运行实际的 .exe 并创建手动快捷方式来解决此问题。

我注意到自动快捷方式的目标是手动快捷方式针对目标位置的目标。

有任何想法吗?

4

1 回答 1

1

我无法针对您的具体问题提出直接解决方案。另一方面,我过去在使用不同的 Windows 安装程序包时遇到了一些路径/相对引用问题,我通过运行将所有必需信息传递给安装程序的程序解决了这些问题。

我的意思的例子:

  1. 在开始安装之前执行一个小程序。它检索所有需要的信息(例如,桌面路径)并将其写入临时位置(例如,Windows 注册表)。

  2. 主安装包启动,从临时位置读取/删除信息,并在执行安装时将其考虑在内(例如,快捷方式的路径)。

根据可用的设置选项,您可能会以不同的方式执行上述操作。我看到的最简单的替代方法是:创建一个 .exe 文件(install.exe),只有一个由用户执行;它将负责检索所有必需的信息,将其写入临时位置并调用主包(\installation files\setup.msi)。启动后,安装包会立即从相应的临时位置读取信息,将其删除并在执行相应操作(设置快捷方式)时将这些信息考虑在内。

我之所以更喜欢依赖这种配置(初步的.exe调用主包或安装包调用脚本/.exe作为第一个动作)的主要原因是因为它提供了很高的灵活性。它不仅解决了安装软件的最终问题/不兼容问题,而且还建立了一个框架,允许我执行更复杂的操作(例如,安全系统),通过依赖相应的编程语言(C# 在这个案子)。

于 2013-07-12T08:36:31.830 回答