Menú Cerrar

Inno Setup Como agregar al icono el atributo Ejecutar como Administrador en nuestro Instalador

innosetup

Cuando queremos crear nuestro instalador de algún programa y queremos que el acceso directo del escritorio o menú inicio de manera automática al instalar tenga el atributo Ejecutar como Administrador en vez de ponerlo de manera manual en propiedades del acceso directo les comparto este código que a mi me funciono para mi instalador.

[Registry]
; Keys for 32-bit systems
Root: HKCU32; \
Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; \
ValueType: String; ValueName: "{app}\{#MyAppExeName}"; ValueData: "~ RUNASADMIN"; \
Flags: uninsdeletekeyifempty uninsdeletevalue; Check: not IsWin64
Root: HKLM32; \
Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; \
ValueType: String; ValueName: "{app}\{#MyAppExeName}"; ValueData: "~ RUNASADMIN"; \
Flags: uninsdeletekeyifempty uninsdeletevalue; Check: not IsWin64

; Keys for 64-bit systems
Root: HKCU64; \
Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; \
ValueType: String; ValueName: "{app}\{#MyAppExeName}"; ValueData: "~ RUNASADMIN"; \
Flags: uninsdeletekeyifempty uninsdeletevalue; Check: IsWin64
Root: HKLM64; \
Subkey: "SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Layers"; \
ValueType: String; ValueName: "{app}\{#MyAppExeName}"; ValueData: "~ RUNASADMIN"; \
Flags: uninsdeletekeyifempty uninsdeletevalue; Check: IsWin64

Solo agrega este fragmento a tu script de inno setup para que tu icono de acceso directo quede con la opción de Ejecutar como administrador.

Si realmente desea configurar el indicador “Ejecutar como administrador” del acceso directo (como opuesto a forzar la ejecución de la aplicación de destino con privilegios de administrador), puede usar este código de muestra:

[Icons] Name: "{userdesktop}\My Program"; Filename: "{app}\MyProg.exe"; AfterInstall: SetElevationBit('{userdesktop}\My Program.lnk')
[Code] procedure SetElevationBit(Filename: string); var Buffer: string; Stream: TStream; begin Filename := ExpandConstant(Filename); Log('Setting elevation bit for ' + Filename); Stream := TFileStream.Create(FileName, fmOpenReadWrite); try Stream.Seek(21, soFromBeginning); SetLength(Buffer, 1); Stream.ReadBuffer(Buffer, 1); Buffer[1] := Chr(Ord(Buffer[1]) or $20); Stream.Seek(-1, soFromCurrent); Stream.WriteBuffer(Buffer, 1); finally Stream.Free; end; end;

Si te gustaria que compartiéramos mas fragmentos de codigo de ejemplo utiles para el compilador y generador de programas de instalacion inno setup solo dejalo en los comentarios.

Te Recomendamos ➡   Grabar la 🔳 Pantalla de Windows en Video con Audio en Windows 10

Te invitamos a visitar nuestros canales en y Suscribirte



Suscríbete por correo electrónico

Recibe notificaciones de Spek Regg

Únete a otros 41 suscriptores


Publicado en Soporte Tecnico

Te puede interesar...

Deja una respuesta

Tu dirección de correo electrónico no será publicada.