2012-05-09 33 views
1

在我的安装程序中,我需要一些启动程序,根据用户输入将它们安装为服务。这些启动器除了名称中的索引外都是一样的。Install4j:如何在运行时复制和修改启动程序

我不想手动创建所有这些发射器,因为这将不可能维护。

有没有办法在安装程序运行时复制和修改启动程序,然后将它们安装为服务?

回答

0

没有理由在运行时复制服务启动器。您可以使用“安装服务”操作来安装具有不同服务名称的多个服务。为此,请在该操作的“服务”属性中选择“其他服务可执行文件”,然后您可以选择并执行 a(可变)服务名称以及可变参数。

0

我也有一个用例,我希望有这种可以将启动程序重命名为运行系统的可能性。

假设你想有一个测试基础结构,你不仅要测试你的程序的一个实例,而且要测试一个。并且您想使用Install4J的启动器启动您的应用程序。

假设您有5个服务需要启动才能提供所需的功能。现在考虑为10个客户提供10个实例,您想要测试。此外,您不想在10台不同的机器,Docker,VM或任何一台机器上进行测试。

这是不可能的,因为您不能在运行时重命名服务。 沃尔夫冈,我明白你的问题。我的是类似的。

我玩了一下Launcher.exe。 也许你的案例有一个解决方案。 假设您想要Launchernames都从相同的长度,如: - Launcher_01.exe - Launcher_02.exe - Launcher_03.exe - Launcher_04.exe - Launcher_05.exe

然后,您可以生成一个发射器一次,名称为“Launcher_xy.exe”。

现在可以打开您最喜爱的Hex-Editor搜索“Launcher_xy”,将其重命名为“Launcher_01”并将数据保存回exe文件。但请注意不要更改名称的长度。如果你改变长度,它将不起作用。

所以,如果你已经改变了名称和事后执行

Launcher_xy.exe -install non-interactive 

你会得到一个名为“Launcher_01.exe”在Windows的服务的新服务。