【问题标题】:Shortcuts changing the relative path?更改相对路径的快捷方式?
【发布时间】:2013-07-09 15:27:49
【问题描述】:

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

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

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

我注意到他们的自动快捷方式与手动快捷方式的目标位置相同。

有什么想法吗?

【问题讨论】:

    标签: c# setup-deployment


    【解决方案1】:

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

    我的意思的例子:

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

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

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

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

    【讨论】:

    • 这有帮助,我制作了一个快速批处理文件,它解决了这个问题。但你会建议一个可执行文件?
    • 这完全取决于您。 IMO,可执行文件比批处理文件有很多优势,但是如果您更喜欢依赖批处理文件,那就去做吧。
    猜你喜欢
    • 2014-01-05
    • 2023-02-25
    • 2013-01-19
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-24
    • 2010-10-11
    相关资源
    最近更新 更多