Я новичок в NSIS, я пытаюсь добавить две команды установки, которые добавят значения реестра для моего приложения, конечная цель состоит в том, чтобы эти значения выглядели следующими: «PATH \ to \ Executive» «%1» < /p>
Проблема заключается в том, что NSIS не принимает формата для этого конечного результата: < /p>
set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
WriteRegStr HKCR '.acmi\\OpenWithProgids' 'MyApp.myext' ''
WriteRegStr HKCR 'Applications\\MyApp.exe\\shell\\open\\command' '' '\"$INSTDIR\\bin\\MyApp.exe\" \"%1\"'
")
< /code>
Это результаты в странное значение; $ instdir \ bin \ myapp.exe ""%1; где первое и последнее «превращается в; < /p>
set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
WriteRegStr HKCR '.acmi\\OpenWithProgids' 'MyApp.myext' ''
WriteRegStr HKCR 'Applications\\MyApp.exe\\shell\\open\\command' '' '\\\"$INSTDIR\\bin\\MyApp.exe\" \"%1\\\"'
")
< /code>
Это сделает «$ instdir \ bin \ myApp.exe;%1», так что снова первый и последний беспрепятственный »превратится в; а также у меня есть дополнительное \ на борту и конец < /p>
set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
WriteRegStr HKCR '.acmi\\OpenWithProgids' 'MyApp.myext' ''
WriteRegStr HKCR 'Applications\\MyApp.exe\\shell\\open\\command' '' '\\\"$INSTDIR\\bin\\MyApp.exe\\\" \\\"%1\\\"'
")
< /code>
избежать всех «не приведет к тому, что нет; но exta \ все равно сломает путь ... < /p>
Что следует сделать, чтобы получить необходимый конечный результат?» WriteRegstr команды в отдельный файл .nsh и установите cpack_nsis_extra_install_commands, чтобы включить файл < /p>
nsis_registry.nsh
WriteRegStr HKCR ".acmi\OpenWithProgids" "MyApp.myext" ""
WriteRegStr HKCR "Applications\MyApp.exe\shell\open\command" "" '"$INSTDIR\bin\MyApp.exe" "%1"'
< /code>
cmakelists.txt
...
set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
!include ${CMAKE_SOURCE_DIR}\\NSIS_registry.nsh
")
...
Подробнее здесь: https://stackoverflow.com/questions/794 ... -correctly
Конфигурация NSIS через Cmake не удается правильно установить двойные кавычки ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение