快捷方式改变相对路径?

时间:2013-07-09 15:27:49

标签: c# setup-deployment

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

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

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

我注意到自动快捷方式,它们具有手动快捷方式对目标位置的目标。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

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

我的意思是:

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

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

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

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