Есть ли способ использовать NSIS для установки приложения в Win10, которое может читать C: \ Windows? - PullRequest
0 голосов
/ 05 мая 2020

У нас есть приложение с большой установленной базой. Короче говоря, в течение ограниченного времени некоторым новым системам Win10 необходимо хранить свои данные, как это делают системы Win7 - в C: \ windows (это не подлежит обсуждению и временно - я знаю, что это плохая форма , но это временный обходной путь).

Для этого, я полагаю, нам нужно либо установить режим совместимости NSIS, либо установить повышенные права пользователя. Но я открыт для других альтернатив.

Спасибо!

1 Ответ

1 голос
/ 05 мая 2020

Это было также неправильно в Windows 7 и всех других Windows версиях, выпущенных за последние 25 лет.

Хотя можно было бы предоставить всем пользователям доступ на запись к% windir%, это огромная проблема с безопасностью, и я не могу порекомендовать это. Если приложение еще не имеет встроенного манифеста (не запрашивая ComCtl32 v6 et c.), Теоретически вы можете использовать внешний файл .manifest .

Менее идеальное решение - установить флаг совместимости:

!include x64.nsh

${If} ${IsWow64}
SetRegView 64
${EndIf} 
WriteRegStr HKLM "Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers" "$InstDir\MyApp.exe" "RUNASADMIN" 
SetRegView Default

Уровни совместимости приложений предназначены для клиента, а не для программы , но я полагаю, что мы давно пытались следовать рекомендациям Microsoft.

...