Запросите административные привилегии на приложение Java на Windows Vista

dbo_SQLServerTable - это имя таблицы Access, а не имя таблицы SQL-сервера. Поскольку вы уже создали связанную таблицу dbo_SQLServerTable, вы можете использовать следующий код VBA.

Currentproject.connection.execute "INSERT INTO MyAccessTable(fld1, fld2, fld3) SELECT fld1, fld2,fld3 FROM dbo_SQLServerTable"

Нет необходимости создавать объект соединения в коде VBA. Currentproject.connection всегда доступен для ссылки.

9
задан dkp 3 November 2008 в 14:25
поделиться

3 ответа

Я не уверен, что можно сделать это программно. Если у Вас есть установщик для Вашего приложения, можно добавить ключ реестра для принуждения выполненный как администратор:

Путь: HKEY_CURRENT_USER\Software\Microsoft\Windows NT\Currentversion\Appcompatflags\layers

Ключ: <<Полный путь к exe>>

Значение: RUNASADMIN

Тип: REG_SZ

3
ответ дан 4 December 2019 в 07:36
поделиться

Я еще не нашел лучшего решения. Но у меня есть альтернативное решение по сравнению с "James Van Huis". Используйте RUNASINVOKE вместо этого, чтобы не видеть запрос Allow/Deny каждый раз, когда вы запускаете приложение.

Примечание: вы всегда должны быть администратором, это то, что я пытаюсь решить

.
0
ответ дан 4 December 2019 в 07:36
поделиться

Задумывались ли вы о том, чтобы обернуть свое Java-приложение в .exe с помощью launch4j? Таким образом вы можете встроить файл манифеста, который позволяет вам указать «уровень выполнения» для вашего исполняемого файла. Другими словами, вы управляете привилегиями, которые должны быть предоставлены вашему запущенному приложению, фактически сообщая ОС «Запуск от имени администратора», не требуя от пользователя делать это вручную.

Например ...

build.xml:

<target name="wrapMyApp" depends="myapp.jar">
        <launch4j configFile="myappConfig.xml" />
</target>

myappConfig.xml:

<launch4jConfig>
  <dontWrapJar>false</dontWrapJar>
  <headerType>gui</headerType>
  <jar>bin\myapp.jar</jar>
  <outfile>bin\myapp.exe</outfile>
  <priority>normal</priority>
  <downloadUrl>http://java.com/download</downloadUrl>
  <customProcName>true</customProcName>
  <stayAlive>false</stayAlive>
  <manifest>myapp.manifest</manifest>
  <jre>
    <path></path>
    <minVersion>1.5.0</minVersion>
    <maxVersion></maxVersion>
    <jdkPreference>preferJre</jdkPreference>
  </jre>
</launch4jConfig>

myapp.manifest:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
        <security>
            <requestedPrivileges>
            <requestedExecutionLevel level="highestAvailable"
                uiAccess="False" />
        </requestedPrivileges>
    </security>
    </trustInfo>
</assembly>  

См. http://msdn.microsoft.com/en-us/ library / bb756929.aspx и веб-сайт launch4j для получения подробной информации о режиме.

24
ответ дан 4 December 2019 в 07:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: