Я новичок в 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++
Программы на C++. Форум разработчиков
1741644795
Anonymous
Я новичок в 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
")
...
Подробнее здесь: [url]https://stackoverflow.com/questions/79499107/nsis-configuration-through-cmake-fails-to-set-double-quotes-correctly[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия