Service innosetup,卸载共享服务
我正在通过InnoSetup的代码部分安装和卸载一些服务应用程序,如下所示Service innosetup,卸载共享服务,service,inno-setup,uninstallation,shared,Service,Inno Setup,Uninstallation,Shared,我正在通过InnoSetup的代码部分安装和卸载一些服务应用程序,如下所示 ShellExec('', ExpandConstant('{app}\') + dExeName, '/install /silent', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode); .... ShellExec('', ExpandConstant('{app}\') + dExeName, '/uninstall /silent', '', SW_HIDE
ShellExec('', ExpandConstant('{app}\') + dExeName, '/install /silent', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
....
ShellExec('', ExpandConstant('{app}\') + dExeName, '/uninstall /silent', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
现在我有一个单独的应用程序,它使用相同的服务。两个应用程序的安装程序都会安装和卸载这些服务
我需要一个解决方案,卸载程序不应该卸载,如果其他应用程序仍然存在于计算机上
法鲁克。
致以最诚挚的问候。两个安装程序都应该使用
[Registry]
部分()设置标志未删除项
在注册表中设置一个条目
在这两个卸载程序中,您可以通过执行以下操作来检查另一个应用程序是否仍在安装
if not RegKeyExists(HKEY_LOCAL_MACHINE, 'Software\Faruk\OtherSoftwareName') then
begin
// The key exists
ShellExec('', ExpandConstant('{app}\') + dExeName, '/uninstall /silent', '', SW_HIDE, ewWaitUntilTerminated, ErrorCode);
end;