在我的安装程序中,我需要一些启动程序,根据用户输入将它们安装为服务。除了名字中的索引外,那些发射器都是一样的。
我不想手动创建所有这些启动器,因为这是无法维护的。
有没有办法在安装程序运行时复制和修改启动器,然后将它们作为服务安装?
答案 0 :(得分:0)
没有理由在运行时复制服务启动器。您可以使用“安装服务”操作来安装具有不同服务名称的多个服务。为此,请在该操作的“服务”属性中选择“其他服务可执行文件”,然后您可以选择并执行和一个(变量)服务名称以及变量参数。
答案 1 :(得分:0)
我也有一个Usecase,我希望将启动器重命名为运行时的这种可能性。
假设您希望拥有一个Testinfrastructure,您不仅要测试一个程序实例,还要测试几个实例。并且您希望使用Install4J中的Launchers来启动您的应用程序。
假设您有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-File。但请注意不要更改名称的长度。如果你改变长度,它将不起作用。
因此,如果您更改了名称,然后执行
Launcher_xy.exe -install non-interactive
您将在Windows服务下获得名为“Launcher_01.exe”的新服务。