Наши клиенты часто сообщают о проблеме, что они получают исключение «Отказано в доступе», когда они использовали для запуска приложения, которое было установлено с загруженным файлом установки. Наш установщик устанавливает исполняемый файл в «Program Files» и создает файлы конфигурации в C: \ ProgramData. После завершения установки наше приложение автоматически запускается в первый раз. Каждый раз, когда пользователь собирается запустить его в следующий раз, он выдает Доступ запрещен , поскольку программа не может получить доступ к файлам конфигурации в C: \ ProgramData.
Да .. "Запуск от имени администратора" - это решение, но мы не можем просить всех наших платных пользователей сделать это. Я искал вариант в может установить привилегии каким-либо альтернативным способом, а затем вручную запустить исполняемый файл как «Запуск от имени администратора».
Я обнаружил, что страница справки , но это не работает для меня. Мое приложение является настольным приложением java, поэтому я создал файл .exe.manifest и поместил этот файл манифеста в исполняемый файл, в котором находятся изображения и файлы свойств других продуктов.
Манифест не работает для меня, и я все еще получаю проблему «Отказано в доступе».
Это содержимое файла манифеста -
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity version="1.0.0.0"
processorArchitecture="X86"
name="<product_name>"
type="win32"/>
<description>Description of your application</description>
<!-- Identify the application security requirements. -->
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges>
<requestedExecutionLevel
level="requireAdministrator"
uiAccess="true"/>
</requestedPrivileges>
</security>
</trustInfo>
</assembly>
Как я могу прикрепить манифест приложения к исполняемому файлу, поскольку я скопировал только тот манифест, где находятся изображения и файлы свойств другого продукта?
Нужно ли что-либо обновлять в файле манифеста, поскольку я скопировал содержимое как есть, кроме?
Исключение -
java.io.FileNotFoundException: C:\ProgramData\.<poduct_name>\config\<Product_Name>.xml (Access is denied) stacktrace javax.xml.transform.TransformerException: java.io.FileNotFoundException: C:\ProgramData\.<Product_Name>\config\<Product_Name>.xml (Access is denied) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source) at com.<Product_Name>.main.dr.a(Unknown Source) at com.<Product_Name>.main.dr.a(Unknown Source) at com.<Product_Name>.main.dr.a(Unknown Source) at com.<Product_Name>.main.h.k(Unknown Source) at com.<Product_Name>.main.ay.run(Unknown Source) Caused by: java.io.FileNotFoundException: C:\ProgramData\.<Product_Name>\config\<Product_Name>.xml (Access is denied) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream. (Unknown Source) at java.io.FileOutputStream. (Unknown Source) ... 7 more --------- java.io.FileNotFoundException: C:\ProgramData\.<Product_Name>\config\<Product_Name>.xml (Access is denied) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream. (Unknown Source) at java.io.FileOutputStream. (Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.getOutputHandler(Unknown Source) at com.sun.org.apache.xalan.internal.xsltc.trax.TransformerImpl.transform(Unknown Source) at com.<Product_Name>.main.dr.a(Unknown Source) at com.<Product_Name>.main.dr.a(Unknown Source) at com.<Product_Name>.main.dr.a(Unknown Source) at com.<Product_Name>.main.h.k(Unknown Source) at com.<Product_Name>.main.ay.run(Unknown Source) and the cause isjava.io.FileNotFoundException: C:\ProgramData\.<Product_Name>\config\<Product_Name>.xml (Access is denied)