|
|
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
В WINDOWS 10, во время инсталляции, возникает проблема с созданием ярлыка на рабочем столе. (на w7 и XP всё Ок.) Инсталляция проходит успешно, программа потом запускается как положено. Но вот ярлык на рабочем столе не создаётся. Причем в конце инсталляции - во время создания ярлыка происходит ошибка: IPersistFile::Save: сбой; код 0x8007002. Не удаётся найти указанный файл. Это происходит из за включенного по умолчанию запрета на внесение изменений в т.н. "Контролируемых папках с управляемым доступом". В том числе и на рабочем столе. Папка "Рабочий стол" как и некоторые другие входит по умолчанию в этот список. Вопрос: - Как красиво обработать ошибку (если она возникнет) если винда не дает создать ярлык. Ну что бы пользователь понял о чем идет речь и почему инсталлятор ругается. Код обычный: [Tasks] Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; [Icons] Name: "{userdesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}";Comment: "Приложение такое то"; Tasks: desktopicon Если снимаю галочку "Создать ярлык на рабочем столе", - ошибки не возникает. Если отключаю функцию "Контролируемых папок", то ошибка так же не возникает. Т.е. проблема ясна, теперь как обработать ошибку?! Например, что бы выскакивало сообщение "Ярлык на рабочий стол добавьте вречную". Может пример кто кинет или куда копать... Спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 16:46 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
Админские права включены? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 16:52 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
И манифест в екзешнике есть и права... ВСЁ Проблема только в том - как обработать ошибку. Что бы пользователь понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 16:54 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
Listratenko, Вот что на форуме InnoSetup есть - оно? Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 16:55 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
Главное вот в чём: - Программа лежит в Интернете и её скачивают юзеры с 0-выми знаниями. Они не знают что такое права. Им поставили винду и всё! Им нужно дать подсказку - Не боись, - жми дальше!!! А то там сбоку, в винде выскакивает сообщение о небезопасных файлах и возможных вирусах. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 16:58 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
ListratenkoКод обычный: А что у тебя прописано для "PrivilegesRequired"? Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 16:58 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
Вопрос только один - как обработать ошибку! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 16:59 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
Я же написал что манифест есть. Значит и права админские. Вопрос в только как обработать ошибку. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 17:00 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
ListratenkoА то там сбоку, в винде выскакивает сообщение о небезопасных файлах и возможных вирусах. Тогда тебе нужен дважды подписанный инсталлятор. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 17:04 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
ListratenkoЯ же написал что манифест есть. При чем здесь манифест? У установщика или у устанавливаемой программы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 17:16 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
Как ошибку обработать? Если хотите поболтать, - на другую ветку!!! Если хотите помочь, - буду благодарен. Вас про права никто не спрашивал. - Спрашивали как обработать ошибку?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 17:22 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
ListratenkoКак ошибку обработать? Скачать исходники InnoSetup и поправить. Другого пути для тебя - нет. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 17:25 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
Dimitry SibiryakovСкачать исходники InnoSetup и поправить. Другого пути для тебя - нет.Ну один нормальный по крайней мере есть - задать вопрос на форуме InnoSetup ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 17:42 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
ListratenkoВопрос: - Как красиво обработать ошибку (если она возникнет) если винда не дает создать ярлык. Ну что бы пользователь понял о чем идет речь и почему инсталлятор ругается. Навскидку: сделать check-функцию для этого ярлыка, где попытаться создать на рабочем столе пустой файл. Если удалось - возвращаем True и InnoSetup создаёт ярлык, если не удалось - показываем пользователю нужное сообщение и возвращаем False - InnoSetup не будет создавать ярлык. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 19:52 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
ListratenkoКак ошибку обработать? Если хотите поболтать, - на другую ветку!!! Если хотите помочь, - буду благодарен. Вас про права никто не спрашивал. - Спрашивали как обработать ошибку?!с таким отношением к другим придется тебе самому решать свою проблему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 20:47 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
Listratenko, Боюсь, что, Листратенко, скоро ты будешь обрабатывать свои ошибки сам с таким подходом к обсуждению. По теме: подписывай сетап и бинарники, если хочешь минимум проблем с UAC'ом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 03.05.2018, 23:03 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
alekcvp, Спасибо за идею. - Это работает! То, что нужно! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 07:10 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
Listratenko, Код: pascal 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 09:16 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
pit_alex, Я сделал через создание файла. Если файл создается - значит доступ есть, - можно создавать и ярлык. Попробую Ваш метод. Потом сообщу.. Огромное спасибо. function alowAccess(): Boolean; var Hndl: Thandle; SA: SECURITY_ATTRIBUTES; begin Result:= False; SA.nLength:=SizeOf(SA); SA.bInheritHandle:=True; Hndl:= CreateFile(PChar(ExpandConstant('{userdesktop}\test.tmp')), GENERIC_READ or GENERIC_WRITE, 0, SA, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, 0); //Если не удается создать файл, дает ошибку - файл не найден. if Hndl>0 then Result:= True else begin Result:=False; MsgBox('Ярлык на рабочем столе создать не удалось, т.к. запрещено операционной системой.'+#13#10+'Позже создайте его вручную.', mbInformation, MB_ok); end; CloseHandle(Hndl); DeleteFile(ExpandConstant('{userdesktop}\test.tmp')); end; ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 09:25 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
Listratenko, при использовании Код: pascal 1. метода, если возвращается False, то CheckBox вообще не будет отображен, поэтому что то писать пользователю не комильфо, так как пользователь еще не выбирал эту опцию. Да и создавать удалять файл без необходимости тоже не есть гуд ИМХО. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 09:31 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
pit_alex, Работает. Спасибо! С моей стороны вопросов больше нету! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 09:46 |
|
||
|
InnoSetup и Windows 10
|
|||
|---|---|---|---|
|
#18+
pit_alex Да и создавать удалять файл без необходимости тоже не есть гуд ИМХО. С другой стороны, папка рабочего стола может быть просто без прав записи для пользователя (да, извращение, но я такое встречал), ваш вариант этого не предусматривает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 04.05.2018, 09:47 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39639572&tid=2040937]: |
0ms |
get settings: |
6ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
183ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
42ms |
get tp. blocked users: |
1ms |
| others: | 208ms |
| total: | 462ms |

| 0 / 0 |
