我使用winautomation软件创建了一个脚本,并在内部创建了一个可执行文件,以便在不同的计算机上运行。然后我使用以下编译代码创建了Inno Setup的安装程序,因为我还需要安装带有可执行文件的其他文件。这个winautomation脚本可以运行某些任务,例如覆盖到一个系统文件,这个文件在没有“以管理员身份运行”的情况下总是很麻烦,经过一些搜索后我找到了[Registry]部分并添加它。我还找到了“PrivilegesRequired = admin”选项,并将其添加到我的代码中。我在编译时尝试从Inno打开“始终以管理员身份运行”,但是当我尝试运行exe的覆盖部分时却没有成功。 (它仍然是无论如何,不知道它是否与任何这些注册表或私有要求的选项冲突)。 Inno编译本身一切都很好。运行快捷方式后出现问题。
在此之前,我需要右键单击快捷方式,选择/选项/兼容性并勾选作为管理员选项运行或直接右键单击以管理员身份运行,现在在使用我的inno代码的注册表项后,预先选择以管理员身份运行不可选择但是当我运行它时仍然存在覆盖系统文件而没有错误的问题,并且需要通过右键单击它来运行快捷方式作为管理员然后它完美地工作。
我需要此可执行文件才能使用管理员权限在不同的计算机上正常工作,而无需用户执行此类手动操作。它确实可以在运行时请求管理员权限,但不能通过右键单击等。
操作系统:赢得8.1 64位 UAC:关闭
我错过了什么? 感谢
; Script generated by the Inno Setup Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES!
[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{9FDAD853-4AEF-4202-8A1B-709885A2AB5D}
AppName=Yemsis Destek
AppVersion=0.3
;AppVerName=Yemsis Destek 0.3
AppPublisher=Onur Çobanoğlu
AppPublisherURL=www.yemsis.com
AppSupportURL=www.yemsis.com
AppUpdatesURL=www.yemsis.com
DefaultDirName={pf}\Yemsis Destek
DefaultGroupName=Yemsis Destek
DisableProgramGroupPage=yes
OutputDir=C:\Users\USER\Desktop
OutputBaseFilename=Yemsis Destek Kurulum
SetupIconFile=E:\YEMSİS\GÖRSELLER\Tanıtım Görseller\YEMSİS\installer.ico
Compression=lzma
SolidCompression=yes
PrivilegesRequired=admin
[Languages]
Name: "turkish"; MessagesFile: "compiler:Languages\Turkish.isl"
[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
[Files]
Source: "C:\Users\USER\Desktop\YemSis Destek.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\USER\Desktop\Yemsis Destek Installer Dosyalar\Dil Dosyaları\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "C:\Users\USER\Desktop\Yemsis Destek Installer Dosyalar\SQL Rapor.xls"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\USER\Desktop\Yemsis Destek Installer Dosyalar\SQL Temel Tablo.xlsm"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Users\USER\Desktop\Yemsis Destek Installer Dosyalar\Ayarlar.txt"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files
[Icons]
Name: "{group}\Yemsis Destek"; Filename: "{app}\YemSis Destek.exe"
Name: "{commondesktop}\Yemsis Destek"; Filename: "{app}\YemSis Destek.exe"; Tasks: desktopicon
[Run]
Filename: "{app}\YemSis Destek.exe"; Description: "{cm:LaunchProgram,Yemsis Destek}"; Flags: nowait postinstall skipifsilent
[Registry]
Root: "HKLM64"; Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers\"; ValueType: String; ValueName: "{app}\Yemsis Destek.exe"; ValueData: "RUNASADMIN"; Flags: uninsdeletekeyifempty uninsdeletevalue; MinVersion: 0,6.1; Check: IsWin64