ASIGNARLE AL EJECUTABLE QUE REQUIERE PERMISOS DE ADMINISTRADOR DESDE INNO SETUP

Buenas tardes mis amigos, los programadores como bien saben a veces hacen aplicaciones que por algunas razones no funcionan si no se ejecutan con los privilegios de administrador.

En esta publicación les mostrare el código del instalador echo en InnoSetup que hará que nuestro ejecutable principal solicite permisos de administrador para que el usuario no se los tenga que agregar manualmente.

Primer en las variables de Setup le indicamos que el instalador va a requerir privilegios de administrador

image

Y en el apartado [Registry] le agregamos el código en el registro de Windows que le asignara al programa instalado que se ejecute como administrador

image

Y se supone que con eso debe de funcionar correctamente, al menos con eso funciono para mi

Saludos y espero que les sriva

Les dejo el enlace de descarga de ejemplo

DESCARGAR

CANAL DE TELEGRAM
https://telegram.me/CesarSystems

TWITTER
https://twitter.com/Cesar101290

FACEBOOK
https://www.facebook.com/rasec555

Anuncios

COMO VER QUE LIBRERÍAS NECESITA UN .EXE

Hace mucho tiempo les mostré como hacer un instalador de librerías y registrarlas en el System32 y el SysWow64  COMO HACER UN INSTALADOR CON UN INNO SETUP, esto nos serviría si sabemos que librerías usa un ejecutable y eso pasa solo cuando tenemos el fuente, pero que pasa si no sabemos que librerías usa un programa y nos urge en ese momento a nosotros o al cliente instalarlo y no alcanza abrirse correctamente por falta de librerías.

Solo hay que entrar al CMD como administrador y escribir las siguiente linea

tasklist /m

Luego saldrá la lista de todas las aplicaciones ejecutándose con sus respectivas librerías

consola

Y ya con esto tenemos la información básica necesaria para crear el instalador de librerías.

DO WITH INSTALLATION OF LIBRARIES INNO SETUP

Good afternoon in this post will be shown how to make an installer libraries, DLL, OCX, and to TTF.
To make an installer need a program called INNO SETUP which is free, fails them the download link.
First we need to have a folder where we will have all the DLL, OCX or TTF files.
image
In that folder’ll put all the libraries and fonts needed.
image
Then we go to INNO SETUP and give new.
image
Then a window will appear to put the extra data installation.
image 
In the next window you can choose the location of where the libraries were installed, in this case does not need to be installed as system files.

image

Then choose what files install.
image
We can then put the license and other documentation.
image
Then we choose the language of the installation.
image
In order foregoing is merely introductory.
All they need is the following code
[Setup]
; ID MUST CREATE ANOTHER FOR NOT CONFUSE WITH OTHER INSTALLATION
AppId = {{076CE02D-6C19-4C67-8F08-78A553968C63}
AppName = INSTALLER
AppVersion = 2.2   
; AppVerName = INSTALLER
AppPublisher = Installer Example
AppPublisherURL = http: //julius555.blogspot.com
AppSupportURL = http: //julius555.blogspot.com
AppUpdatesURL = http: //julius555.blogspot.com
 
; CREATE A DIRECTORY FOR THE APPLICATION
CreateAppDir = no
 
; OUTPUT DIRECTORY
OutputDir =. \
 
; BASE FILE NAME
2.4 Integral OutputBaseFilename = Aetius
 
; COMPRESSION TOOL
Compression = lzma
SolidCompression = yes
 
[Languages]
Name: "spanish" ; MessagesFile: "compiler: Languages ​​\ Spanish.isl"
 
[Files]
; NOTE: WHEN THE SEA SYSTEM IS 64 BITS rating should SPEND AND LIBRARIES TO REGISTER FOLDER SYSWOW64
; WHEN THE SYSTEM IS SEA OF 32 BITS AND PASS rating should LIBRARIES TO REGISTER FOLDER SYSTEM32  
 
; IN THIS LINE SEND ALL LIBRARIES DLL A SYSTEM32 FOLDER AND RECORDS
Source: "* .dll" ; DestDir: "{sys}" ; Flags: onlyifdoesntexist regserver 32bit noregerror
 
; He SEND THIS LINE IN ALL LIBRARIES DLL SYSWOW64 A FOLDER AND RECORDS, IS FOR WHEN 
; THE OPERATING SYSTEM IS 64 BITS
Source: "* .dll" ; DestDir: "{sys}" ; Flags: onlyifdoesntexist regserver 64bit noregerror; Check: IsWin64
 
; ON THESE TWO LINES AS WELL AS THE LAST TWO register with SYSTEM32 LIBRARIES AS BOTH IN SYSWOW64
; WITH A DIFFERENCE THAT THIS WILL PASS THE FILES 0CX
Source: "* .ocx" ; DestDir: "{sys}" ; Flags: onlyifdoesntexist regserver 32bit noregerror
Source: "* .ocx" ; DestDir: "{sys}" ; Flags: onlyifdoesntexist regserver 64bit noregerror; Check: IsWin64
 
    
; WITH THIS LINE IS NECESSARY SOURCES PASARAN
Source: "* .ttf" ; DestDir: "{fonts}" ; Flags: onlyifdoesntexist uninsneveruninstall
; NOTE: Do not use "Flags: ignoreversion" on any shared system files
Assuming you already have the file, we must save it in the same folder where the libraries are, eg
image
 
Then we open the file and compile it.
image
 
And presto, we have our Installer
 
image
 
video example

(function(d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = “//connect.facebook.net/es_LA/sdk.js#xfbml=1&version=v2.0”;
fjs.parentNode.insertBefore(js, fjs);
}(document, ‘script’, ‘facebook-jssdk’));

HACER INSTALADOR DE LIBRERIAS CON INNO SETUP

Buenas tardes en esta entrada se mostrara como hacer un instalador de librerías, DLL, OCX, Y hasta fuentes TTF.

Para hacer un instalador necesitaran un programa llamado INNO SETUP el cual es gratuito, les dejare el enlace de descarga.

Primero necesitaremos tener una carpeta en donde tendremos todas los archivos DLL,OCX  o TTF.

image

En esa carpeta meteremos todas las librerías y fuentes necesarias.

image

Luego nos vamos al INNO SETUP y le damos a nuevo.

image

Luego nos aparecerá una ventana para poner los datos extras de la instalación.

image 

En la siguiente ventana podrás elegir la ubicación de donde se instalaran las librerías, en este caso no se necesitaran ya que se instalaran en los archivos del sistema.

image

Luego elegiremos que archivos instalaremos.

image

Luego le podremos poner la licencia y otros tipos de documentación.

image

Después escogeremos el lenguaje de la instalación.

image

En fin todo lo anterior es meramente introductorio.

Lo único que necesitan es el siguiente código

[Setup]

;DEBEN DE GENERAR OTRO ID PARA QUE NO SE CONFUNDA CON OTRA INSTALACION

AppId={{076CE02D-6C19-4C67-8F08-78A553968C63}

AppName=INSTALADOR

AppVersion=2.2   

;AppVerName=INSTALADOR

AppPublisher=Instalador Ejemplo

AppPublisherURL=http://julius555.blogspot.com

AppSupportURL=http://julius555.blogspot.com

AppUpdatesURL=http://julius555.blogspot.com

 

;CREAR UN DIRECTORIO PARA LA APLICACION

CreateAppDir=no

 

;DIRECTORIO DE SALIDA

OutputDir=.\

 

;NOMBRE BASE DEL ARCHIVO

OutputBaseFilename=Aetius Integral 2.4

 

;HERRAMIENTA DE COMPRESION

Compression=lzma

SolidCompression=yes

 

[Languages]

Name: "spanish"; MessagesFile: "compiler:Languages\Spanish.isl"

 

[Files]

;NOTA: CUANDO EL SYSTEMA SEA DE 64 BITS SE DEVERAN PASAR Y REGISTRAR LAS LIBRERIAS A LA CARPETA DE SYSWOW64

;      CUANDO EL SISTEMA SEA DE 32 BITS SE DEVERAN PASAR Y REGISTRAR LAS LIBRERIAS A LA CARPETA DE SYSTEM32  

 

;EN ESTA LINEA ENVIA TODAS LAS LIBRERIAS DLL A LA CARPETA DE SYSTEM32 Y LAS REGISTRA

Source: "*.dll"; DestDir: "{sys}"; Flags: onlyifdoesntexist regserver 32bit noregerror

 

;EN ESTA LINEA ENVIA TODAS LAS LIBRERIAS DLL A LA CARPETA DE SYSWOW64 Y LAS REGISTRA, ES PARA CUANDO 

;EL SISTEMA OPERATIVO SEA DE 64 BITS

Source: "*.dll"; DestDir: "{sys}"; Flags: onlyifdoesntexist regserver 64bit noregerror; Check: IsWin64

 

;EN ESTAS DOS LINEAS AL IGUAL QUE LAS ULTIMAS DOS REGISTRAS LAS LIBRERIAS TANTO EN SYSTEM32 COMO EN SYSWOW64

;CON LA DIFERENCIA DE QUE EN ESTA SE PASARAN LOS ARCHIVOS 0CX

Source: "*.ocx"; DestDir: "{sys}"; Flags: onlyifdoesntexist regserver 32bit noregerror

Source: "*.ocx"; DestDir: "{sys}"; Flags: onlyifdoesntexist regserver 64bit noregerror; Check: IsWin64

 

    

;CON ESTA LINEA SE PASARAN LAS FUENTES NECESARIAS

Source: "*.ttf"; DestDir: "{fonts}"; Flags: onlyifdoesntexist uninsneveruninstall

; NOTE: Don't use "Flags: ignoreversion" on any shared system files

Suponiendo que ya tenemos el archivo, debemos guardarlo en la misma carpeta donde están las librerías, ejemplo
image
 
Luego abrimos el archivo y lo compilamos.
image
 
Y listo, ya tenemos Nuestro Instalador
 
image
 
EJEMPLO VISUAL