如何让app移植?

时间:2013-02-22 14:01:11

标签: installation portability

我有一些程序的标准instalations,并且它们是免费软件,我可以下载它们并安装在任何机器上,事情并不容易。当系统崩溃,我没有工作机器或工作的互联网连接或局域网卡或lan卡驱动程序时,我总是很难找到它们并使它们工作,如果某个依赖文件不在那个版本的Windows上。

我需要知道的是我如何使应用程序可移植,以便我可以从我的USB运行它们或者只是从我的usb在PC上运行并运行,什么依赖文件应用程序需要,以及哪些文件和特定应用程序安装在哪里?

3 个答案:

答案 0 :(得分:9)

这是一个复杂的故事,但让我们试着总结一下。从“为什么?”部分开始。

我是一个严重“讨厌”安装人员的痴迷者。我喜欢在文件reg条目和DLL中没有膨胀的干净系统。这就是为什么我制作几乎所有(至少97%)我使用便携式程序的程序。到今天我已经做了600多个,我可以说是;

您需要: 1-观看文件系统的程序(安装后包含的内容) 我用这个。简单直接(抱歉不是免费软件,但你可以找到大量的替代品) http://www.samsunsegman.com/um/

2-监视注册表的程序(安装后更改或包含的内容) 我在HTML模式下使用它。免费快速而简单。并且便携性。 http://sourceforge.net/projects/regshot/

现在使用这些2扫描系统,然后运行安装程序。打开已安装的程序并根据需要进行设置。而不是使用这个2程序来查找添加的文件和注册表项。

对于文件,将它们删除到垃圾箱并将它们从垃圾箱中批量处理(这样做很容易)到应用程序的文件夹。 注册表,打开注册表中的相关分支,删除任何包含地址的条目,如(plugins folder = c:\ prog ....等)右键单击主分支并选择导出。这是您的注册设置...

3-下载此程序http://ctuser.net/?reg2exe 这会将您的reg文件转换为exe文件。

4-下载此应用程序http://download.cnet.com/FilePacker/3000-2216_4-10414081.html 注意:如果没有,请点击“直接下载链接”,cnet将欢迎您使用他们的安装程序:)

使用这个程序(我使用它因为不干扰任何应用程序)打包你想要便携的程序。在向导中,首先在主程序文件后选择您的reg-exe文件。启动器将使用此订单执行它们。在设置中选择“终止后删除”将在退出时删除提取的文件。

您可以发现更多详情。这有助于您将近75%的简单应用程序移植。

5-对于复杂的程序或复杂的需求,你甚至可以制作像

这样的自制装载机
  • 在执行应用程序之前,将用户文件放在appdata文件夹下(我讨厌)
  • 将设置置于注册表中(即使使用动态修改的“路径”地址)
  • 选择要执行的内容(x86或x64)
  • 如果需要,以管理员模式执行
  • 执行应用程序......当应用程序终止时......
  • 从注册表中删除设置
  • 从appdata文件夹中取出用户文件并放回程序文件夹(usb等)中。
  • 删除系统下的剩余文件...

我刚刚写了最后一篇文章,让你明白你能走多远。对于所有这些额外的技巧,我只使用bat文件。我也用这个软件将它们转换为exe。 http://www.f2ko.de/programs.php?lang=en&pid=b2e(也免费)

我使用的所有软件除了“卸载管理器”都是免费的。使用这种技术,令人惊讶但有些程序的运行速度更快。

实际上你可以使用JauntePE或便携式应用程序打包器,但是...... Jaunte和类似的沙箱制作程序是如此之慢并且与所有程序不兼容。甚至造成崩溃。对于我严格的spped和尺寸标准,便携式应用程序方法有点膨胀。这就是为什么我自己做了10年(是的,甚至人们不是在讨论可移植性)

注意:我不是程序员,你也不需要这样做。 我从未发布过我的便携式设备,你也不应该(阅读EULA的)尊重作者。

但永远不要忘记要求所有作者提供便携版本。强制他们退出安装程序;)

祝你好运

答案 1 :(得分:1)

inovasyon做得很棒! 如果你想制作一些可以在每台计算机上运行的便携式应用程序,那么99.9%的应用程序可以移植。 如果您还希望应用程序不会留下任何文件,文件夹或注册表项,而不是更改或破坏主机PC的设置,那么这将进一步限制。 在具有锁定权限的PC上使用时,需要管理员权限才能写入注册表或文件系统的受保护区域的应用程序将会中断。

要求在主机PC上安装服务的应用程序通常会让它们落后。 您必须知道存在锁定到特定PC的应用程序 - 微软最新版本的Office就是一个很好的例子。移动到另一台PC时,它们根本不会运行。 此外,你需要一些工具来制作便携式应用程序:cameyo,thinapp,boxedapp,portableapps,spoon,app-v等。 便携式应用程序将从闪存驱动器和计算机运行。 祝你好运!

答案 2 :(得分:1)

以下是使用 PortableApps.com 工具设置便携式应用的初级读本。他们有page for developers对某些细节很有帮助,但总体过程并没有很好地总结。以下是创建便携式应用程序的一般概要:

<强> 1。调查您的应用程序的脚印

查找您想要移植的应用程序的所有文件,注册表位置和设置(使用inovasyon's answer中的第(1)和(2)点),然后查看Zsoft )。启动虚拟机并跟踪应用程序的更改,通常是一个好主意。

<强> 2。 PortableApp生成器

下载,摘录并打开 PortableApps.com Platform ,然后按[The system tray icon][Apps][Get More Apps][By Category]进行安装 PortableApps.com Launcher NSIS(Unicode)需要对您的应用进行安全化。或者,但有一些额外的麻烦,请下载 PortableApps.com Launcher NSIS Portable (Unicode version) 作为标准。
您现在可以通过运行PortableApps.com Launcher并将其指向您的项目来编译项目。

第3。 PortableApp布局和结构

下载 PortableApp.com应用程序模板(搜索它here)以根据规范构建在(1.)中获得的数据和文件。另外,从portableapps.com下载一些应用程序,以获取有关它们结构的一些实际示例,并了解有关可移植性难题的更多信息(例如替换设置文件中的驱动器号以对应于便携式驱动器的移动)。
作为&#34; Hello World&#34;例如,尝试这个简单程序的可移植性:helloworld.bat,内容为:

    @echo off
    echo Hello World > log.txt

它将所有本地环境变量写入日志文件log.txt。您可以尝试将文件写入%APPDATA%子目录,然后查看是否可以将项目重定向到可移植目录。

<强> 4。其他用途

如果您需要执行一些使用默认.ini功能无法实现的其他编码(例如仅强制应用的一个实例),请将包含文件位置App\AppInfo\Launcher\Custom.nsh的NSIS脚本添加到您的项目。
请注意,PortableApps.com的custom code guide错误地将文件位置指定为Other\Source\Custom.nsh。对于这个脚本的布局,它也是非常无益的。而是嘲笑其他应用程序中的示例,并通过Google进行一些学习NSIS语法。