Как показать значок Systray, а также соответствующий исполняемый файл в диспетчере задач по умолчанию, когда мы запускаем установщик с помощью NSIS? - PullRequest
0 голосов
/ 10 декабря 2018

Мое требование: Когда я установил программное обеспечение с помощью NSIS, после успешного завершения установки на нем должен появиться значок уведомления (значок systray).

Я могу создать установщик с необходимыми dll, исполняемыми файлами и другими файлами.Но он не показывает значок систрейма автоматически

А также я не вижу этого в разделе «Процессы» в диспетчере задач.Чтобы отобразить этот значок в systray, а также в процессах, мне нужно запустить этот конкретный исполняемый файл вручную из программы установки (Display.exe), а затем отобразить значок systray.А также присутствует в диспетчере задач как процесс.

Ниже показано, как я называю свои исполняемые файлы и библиотеки DLL, используя «Файл» в сценарии NSIS.

  File E:\Code\PCPE\Install\pcpe301\Common\dac.exe
  File E:\Code\PCPE\Install\pcpe301\Common\DataCollectionLauncher.exe
  File E:\Code\PCPE\Install\pcpe301\Common\dataserv.exe
  File E:\Code\PCPE\Install\pcpe301\Common\Display.exe
  File E:\Code\PCPE\Install\pcpe301\Common\drvutil.dll

Из Google я нашел некоторую информацию- По умолчанию, когда мы запускаем установщик, чтобы показать иконку systray и создать процесс, мы должны использовать некоторую команду создания процесса, и с этого момента мы должны вызвать «Display.exe».

Не могли бы вы помочь мне, каксделать этот звонок?

С уважением, Пракаш

1 Ответ

0 голосов
/ 10 декабря 2018

Используйте ExecShell, Exec или ExecWait, чтобы начать новый процесс:

Section
SetOutPath $INSTDIR
File "something\Display.exe"
ExecShell "" "$INSTDIR\Display.exe"
SectionEnd

Если вы используете Modern UI, вы можете вместо этого поставить флажок запуска на конечной странице, еслиВы хотите дать пользователю возможность не запускать приложение:

!insertmacro MUI_PAGE_WELCOME
!insertmacro MUI_PAGE_DIRECTORY
!insertmacro MUI_PAGE_INSTFILES
!define MUI_FINISHPAGE_RUN "$INSTDIR\Display.exe"
!insertmacro MUI_PAGE_FINISH
!insertmacro MUI_LANGUAGE "English"

Section
SetOutPath $INSTDIR
File "something\Display.exe"
SectionEnd
...