我将从客户端计算机安装我们的软件,并且我想运行一个程序CreateServiceCMD
,它在文件服务器上停止/启动三个服务。因此,在文件服务器上运行第四个服务,它将等待CMD文件。优点是:安装无需管理员权限!
你必须知道它是如何工作的(应该有效):
CreateServiceCMD(stop)
将在服务器上创建CMD文件,我的特殊服务将停止其他三个服务CreateServiceCMD(start)
,我的服务器上的特殊服务会再次启动其他三项服务。我尝试了所有内容,但找不到CreateServiceCMD(start)
的正确位置。 AfterInstall
,PostInstall
,wpFinished
,DeInitializeSetup()
我试了好几个小时......
[Run]
Filename: "{code:GetInstallDir|Program}\{#AppStartName}"; Parameters: "-UpdateAutoClose"; \
Flags: postinstall skipifsilent; \
Description: "{cm:LaunchProgram, {#AppName} {#AppVerTxt} Datenbank Update}"
问题是,我必须等到应用程序再次关闭,然后运行我的程序,但我找不到合适的位置。我尝试的一切都太早了。
希望有人能帮忙......?
答案 0 :(得分:1)
我相信您正在寻找CurStepChanged
:
procedure CurStepChanged(CurStep: TSetupStep);
begin
if CurStep = ssInstall then
begin
{ installation is starting }
CreateServiceCMD(stop);
end
else
if CurStep = ssPostInstall then
begin
{ installation has finished }
CreateServiceCMD(start);
end;
end;