portable-applications - 制作应用程序启动器

标签 portable-applications

好吧,我想制作一个启动其他应用程序的应用程序。然而,这里的目标是使应用程序“可移植”,因为我可以从一个 Windows 桌面转到另一个 Windows 桌面,同时从 USB 驱动器使用相同的应用程序。所以这里是我的意思的不同概要:

我有应用程序 X。我在机器 1 上使用它,我想在机器 2 上使用它。但是,机器 2 是我 friend 的,他不希望我在上面安装东西。因此,我将安装程序在我的系统上创建的所有文件放入文件夹中。 App X 将文件放入启动时所需的 Windows 文件夹中。如果我只是运行该应用程序,它会在 Windows 目录中查找,它将找不到这些文件。我没有/不希望能够将文件放入 Windows 目录中。我想告诉应用程序在文件夹 a 中查找文件夹 b 中的文件,而不是通常查找的位置。然后我可以在任何机器上使用这个程序,而无需以任何方式修改机器。

这可行吗?如果是的话,它叫什么名字,以便我可以查找?

编辑:win 目录就是一个例子。我希望该应用程序能够独立包含在拇指驱动器上的文件夹中。我想将应用程序查找文件的位置重定向到我指定的文件夹。

最佳答案

这是可以完成的,但有多容易完全取决于您要启动的程序。

应用程序将执行的操作包括:

  • 只要在任何地方执行就可以愉快地运行(没有依赖性)。这些都很简单!

  • 需要设置一些环境变量。这很容易做到 - 如果您愿意,您可以使用修改后的环境启动新流程。

  • 从磁盘读取文件。通常,当加载 .dll 等内容时,应用程序将在 PATH 中搜索 dll,因此可以将它们复制到应用程序文件夹(.exe 旁边),并且它可以在任何系统上正常运行。然而,在某些情况下,应用程序将使用固定(或至少不太灵活)的路径,因此它们将更难成功启动。

  • 读取注册表设置。这比较棘手。您需要知道应用程序需要什么状态,让启动器记录旧的注册表状态,更改它并运行应用程序,然后等待应用程序退出以恢复原始状态。这必须是防弹的,以避免用户注册表损坏。

最终,您需要针对要启动的每个应用程序进行调查,了解它需要运行什么。

如果应用程序是商业应用程序,请注意以这种方式运行它们,不要违反任何许可 (EULA) 条款。

另一种替代方法是设置虚拟 PC 镜像并在主机 PC 上简单地执行该镜像,这样就无需担心每个应用程序的任何特殊情况。根据您可用的 VPC 软件,您可能需要在主机 PC 上安装软件以允许运行虚拟 PC session ,这可能会达不到目的/意图。

关于portable-applications - 制作应用程序启动器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1352279/

相关文章:

asp.net - 用于 ASP.NET 应用程序的可移植 IIS 或其他服务器

c++ - 是否有任何带有 mingw 的 Netbeans 或 Eclipse C++ 可移植?

windows - 使 Windows 程序拇指驱动器可移植

linux - 系统如何在需要时调用可移植应用程序(例如文件关联)?

c# - 如何使 C# winform 应用程序可移植

java - 如何在 Eclipse 中设置 Java 路径以便可以在外部驱动器上运行它?

frameworks - 是否有任何 USB 内存棒可运行、免安装、跨平台软件框架(带有 GUI)?

java - 可移植 Eclipse : impossible to add software

python - 有没有一种简单的方法可以将 PyCharm 和 WinPython 的整个安装放在 USB 内存棒上?

windows - 我怎样才能拥有一个便携的 Emacs?