elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


  Mostrar Temas
Páginas: [1]
1  Programación / Scripting / [INNO Setup] Que estoy haciendo mal en: 5 Febrero 2013, 22:24 pm

[MOD] USA TÍTULOS DESCRIPTIVOS!



Hola,

Que estoy haciendo mal, el script del innosetup me instala dos veces el archivo (Numisoftware.mde)

Este que esta dentro dew Numisoftware sobra:
C:\Numisoftware\
Actualiza
DatosNumi
Programa
Numisotware.mde

Lo correcto es:
C:\Numisoftware\
Actualiza
DatosNumi
Programa\Numisoftware.mde

Os dejo el script par ver donde tengo el error.
Código:
[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={{561F01CD-4A2F-4E84-B650-F586E2493B8E}
AppName=Numisoftware
AppVerName=Numisoftware 1.0
VersionInfoVersion=1.0
AppPublisher=Numisoftware
AppPublisherURL=http://www.numisoftware.com/
AppSupportURL=http://www.numisoftware.com/
AppUpdatesURL=http://www.numisoftware.com/
DefaultDirName=C:\
DisableDirPage=yes
DefaultGroupName=Numisoftware
DisableProgramGroupPage=yes
LicenseFile=C:\Numisoftware\Programa\Licencias\Lic enciaES.rtf
OutputDir=C:\Instalador
OutputBaseFilename=Numsetup
SetupIconFile=C:\Numisoftware\Programa\Iconos\numi software.ico
Compression=lzma
SolidCompression=yes
AppCopyright=Copyright © 2011 by NUMISOFTWARE
VersionInfoCompany=NUMISOFTWARE
WizardImageFile=compiler:WizModernImage-IS.bmp
WizardSmallImageFile=compiler:WizModernSmallImage-IS.bmp
WindowVisible=true
VersionInfoDescription=Software para la gestión de colecciones
VersionInfoTextVersion=Numisoftware 1.0
ShowUndisplayableLanguages=true

[Languages]
Name: en; MessagesFile: compiler:Languages\English.isl; LicenseFile: C:\Numisoftware\Programa\Licencias\LicenseIN.rtf
Name: es; MessagesFile: compiler:Languages\Spanish.isl; LicenseFile: C:\Numisoftware\Programa\Licencias\LicenciaES.rtf
Name: catalan; MessagesFile: compiler:Languages\Catalan.isl; LicenseFile: C:\Numisoftware\Programa\Licencias\LlicènciaCAT.rt f
Name: french; MessagesFile: compiler:Languages\French.isl; LicenseFile: C:\Numisoftware\Programa\Licencias\LicenceFR.rtf
Name: german; MessagesFile: compiler:Languages\German.isl; LicenseFile: C:\Numisoftware\Programa\Licencias\LizenzDE.rtf
Name: portuguese; MessagesFile: compiler:Languages\Portuguese.isl; LicenseFile: C:\Numisoftware\Programa\Licencias\LicençaPO.rtf
Name: italian; MessagesFile: compiler:Languages\Italian.isl; LicenseFile: C:\Numisoftware\Programa\Licencias\LicenzaIT.rtf


[Files]
;Source: C:\Numisoftware\Programa\Numisoftware.mde; DestDir: {app}; Flags: ignoreversion
Source: C:\Numisoftware\*; DestDir: {app}; Flags: ignoreversion recursesubdirs createallsubdirs
Source: C:\Numisoftware\Programa\Iconos\numisoftware.ico; DestDir: {app}\Programa\Iconos; Flags: ignoreversion recursesubdirs createallsubdirs
Source: C:\Numisoftware\Programa\Referencias\Dao360.dll; DestDir: {sys}; Flags: sharedfile restartreplace regserver noregerror
Source: C:\Numisoftware\Programa\Referencias\FM20.dll; DestDir: {sys}; Flags: sharedfile restartreplace regserver noregerror
Source: C:\Numisoftware\Programa\Referencias\MSO.DLL; DestDir: {sys}; Flags: sharedfile restartreplace regserver noregerror
Source: C:\Numisoftware\Programa\Referencias\msado21.tlb; DestDir: {sys}; Flags: sharedfile restartreplace regtypelib noregerror
Source: C:\Numisoftware\Programa\Referencias\stdole2.tlb; DestDir: {sys}; Flags: sharedfile restartreplace regtypelib noregerror
Source: C:\Numisoftware\Programa\Dlls\MouseWheelVScroll.dl l; DestDir: {sys}; Flags: sharedfile restartreplace regserver noregerror
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: {group}\Numisoftware; Filename: {app}\Programa\Numisoftware.mde; WorkingDir: {app}; IconFilename: {app}\Programa\Iconos\numisoftware.ico; IconIndex: 0
Name: {userdesktop}\Numisoftware; Filename: {app}\Programa\Numisoftware.mde; WorkingDir: {app}; IconFilename: {app}\Programa\Iconos\numisoftware.ico; IconIndex: 0
Name: {group}\{cm:UninstallProgram,Numisoftware}; Filename: {uninstallexe}; WorkingDir: {app}; IconFilename: {app}\Programa\Iconos\numisoftware.ico; IconIndex: 0

[Run]
Filename: {app}\Programa\Scripts\SeguridadAccess2003.vbs; Check: fVersion('0010'); Flags: shellexec; Parameters: 1
Filename: {app}\Programa\Scripts\cc2010.exe; Check: fVersion('0001') or fVersion('0101'); Parameters: /cn C:\Numisoftware Description: {cm:LaunchProgram,cc2010}; Flags: waituntilterminated
;Filename: {app}\Programa\Scripts\cc2010.exe; Check: fVersion('0101'); Parameters: /cn C:\Numisoftware Description: {cm:LaunchProgram,cc2010}; Flags: waituntilterminated

Código:

function fVersionAccess(): Byte;
var
localAccess : String;
loaded: String;
begin
Result := 0;
RegQueryStringValue( HKLM,'Software\Microsoft\Windows\CurrentVersion\Ap p Paths\Msaccess.exe','path',loaded );
RegQueryStringValue( HKLM,'Software\Microsoft\Office\9.0\Access\Install Root','Path',localAccess );
if fileexists(localAccess + '\MsAccess.exe') then
if localAccess = loaded then
Result:=1; //Access 2000
localAccess := '';
RegQueryStringValue( HKLM,'Software\Microsoft\Office\10.0\Access\Instal lRoot','Path',localAccess );
if fileexists(localAccess + '\MsAccess.exe') then
if localAccess = loaded then
Result := 2; //Access 2002
localAccess := '';
RegQueryStringValue( HKLM,'Software\Microsoft\Office\11.0\Access\Instal lRoot','Path',localAccess );
if fileexists(localAccess + '\MsAccess.exe') then
if localAccess = loaded then
Result := 3; //Access 2003
localAccess := '';
RegQueryStringValue( HKLM,'Software\Microsoft\Office\12.0\Access\Instal lRoot','Path',localAccess );
if fileexists(localAccess + '\MsAccess.exe') then
if localAccess = loaded then
Result := 4; //Access 2007
localAccess := '';
RegQueryStringValue( HKLM,'Software\Microsoft\Office\14.0\Access\Instal lRoot','Path',localAccess );
if fileexists(localAccess + '\MsAccess.exe') then
if localAccess = loaded then
Result := 5; //Access 2010
end;


function fversion(version: String): Boolean;
begin
result:=false;
Case version of
'1110': begin
if not fVersionAccess()=4 then // Si no tiene Access 2007
result:=true;
end;
'0011': begin
if not fVersionAccess()=5 then // Si no tiene Access 2010
result:=true;
end;
'1100': begin
if not fVersionAccess()=3 then // Si no tiene Access 2003
result:=true;
end;
'0001': begin
if fVersionAccess()=4 then //Access 2007
result:=true;
end;
'0010': begin
if fVersionAccess()=3 then //Access 2003
result:=true;
end;
'0101': begin
if fVersionAccess()=5 then //Access 2010
result:=true;
end;
end;
end;

function IsAccessRuntimeInstalled(): Boolean;
begin
Result := RegKeyExists (HKLM, 'SOFTWARE\Microsoft\Office\14.0\Registration\{9012 0000-001C-0C0A-0000-0000000FF1CE}');
end;


Saludos, ximo
2  Programación / Scripting / Saber access instalado en: 13 Noviembre 2012, 15:33 pm
Hola,

El caso es que me interesa saber el access instalado en una pc, y no se nada de script, pués según el access debo lanzar 1 script o 1 exe, el script es para que cambie el nivel de las macros en access 2003, y el exe para la carpeta de confianza en access 2007 y 2010.

He recopilado un codigo que creo que esta en script para averiguar el access, el cual no entiendo muy bien como se usa, ni como según el resultado ejecutar los archivos necesarios pasandole la ruta donde se encuentran.

Pego el código por si alguien me puede ayudar.
Código:
function fVersionAccess(): Byte;
var
localAccess : String;
loaded: String;
begin
    Result := 0;
    RegQueryStringValue( HKLM,'Software\Microsoft\Windows\CurrentVersion\App Paths\Msaccess.exe','path',loaded );
    RegQueryStringValue( HKLM,'Software\Microsoft\Office\9.0\Access\InstallRoot','Path',localAccess );
    if fileexists(localAccess + '\MsAccess.exe') then
if localAccess = loaded then
  Result:=1; //Access 2000
    localAccess := '';
    RegQueryStringValue( HKLM,'Software\Microsoft\Office\10.0\Access\InstallRoot','Path',localAccess );
    if fileexists(localAccess + '\MsAccess.exe') then
if localAccess = loaded then
  Result := 2; //Access 2002
    localAccess := '';
    RegQueryStringValue( HKLM,'Software\Microsoft\Office\11.0\Access\InstallRoot','Path',localAccess );
    if fileexists(localAccess + '\MsAccess.exe') then
if localAccess = loaded then
  Result := 3; //Access 2003
    localAccess := '';
    RegQueryStringValue( HKLM,'Software\Microsoft\Office\12.0\Access\InstallRoot','Path',localAccess );
    if fileexists(localAccess + '\MsAccess.exe') then
if localAccess = loaded then
  Result := 4; //Access 2007
    localAccess := '';
    RegQueryStringValue( HKLM,'Software\Microsoft\Office\14.0\Access\InstallRoot','Path',localAccess );
    if fileexists(localAccess + '\MsAccess.exe') then
if localAccess = loaded then
  Result := 5; //Access 2010
end;


function fversion(version: String): Boolean;
begin
   result:=false;
   Case version of
'1110': begin
 if not fVersionAccess()=4 then // Si no tiene Access 2007
result:=true;
end;
  '0011': begin
   if not fVersionAccess()=5 then // Si no tiene Access 2010
result:=true;
end;
   '1100': begin
   if not fVersionAccess()=3 then // Si no tiene Access 2003
result:=true;
end;
'0001': begin
 if fVersionAccess()=4 then  //Access 2007
result:=true;
end;
'0010': begin
 if fVersionAccess()=3 then  //Access 2003
result:=true;
end;
  '0101': begin
      if fVersionAccess()=5 then  //Access 2010
      result:=true;
    end;
end;
end;

function IsAccessRuntimeInstalled(): Boolean;
begin
  Result := RegKeyExists (HKLM, 'SOFTWARE\Microsoft\Office\14.0\Registration\{90120000-001C-0C0A-0000-0000000FF1CE}');
end;



Saludos, ximo
3  Informática / Software / Crear acceso directo con InnoSetup si o si en: 27 Marzo 2012, 21:57 pm
Hola,
 Pues lo que pretendo es crear un acceso directo en el escritorio, sin que lo mande el usuario, o sea que se cree de todas formas, ya que es necesario para la aplicación, ya que lleva la rutra del programa que debe abrirla inmero en la ruta.

Con esto lo creo si el usuario lo acepta.

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked

[Icons]
Name: {group}\Numisoftware; Filename: C:\Archivos de programa\Microsoft Office\OFFICE11\MSACCESS.EXE; Parameters: "/Runtime ""C:\Numisoftware\Programa\PruebaDemo_249.mdb"""; WorkingDir: {app}; IconFilename: {app}\Programa\Iconos\numisoftware.ico; IconIndex: 0
Name: {group}\{cm:UninstallProgram,Numisoftware}; Filename: {uninstallexe}
Name: {commondesktop}\Numisoftware; Filename: C:\Archivos de programa\Microsoft Office\OFFICE11\MSACCESS.EXE; Parameters: "/Runtime ""C:\Numisoftware\Programa\PruebaDemo_249.mdb"""; Tasks: desktopicon; WorkingDir: {app}; IconFilename: {app}\Programa\Iconos\numisoftware.ico; IconIndex: 0


Gracias y saludos, ximo
4  Informática / Software / etablecer valor en acceso directo en: 18 Marzo 2012, 12:11 pm
Hola a todos,

Antes que nada perdon si no es el lugar adecuado, pero no encuentro uno especifico para InnoSetup.

Es caso es que tengo una aplicación hecha en Access y quisiera instalarla con Innosetup, lo tengo todo hecho, solo a falta de indicarle al accesso directo que siempre abra la aplicación con el RunTime de access 2003, cosa nada dificil haciendolo desde el propio acceso una vez creado de esta forma:
Propiedades-->acceso directo-->Destino

("C:\Archivos de programa\Microsoft Office\OFFICE11\MSACCESS.EXE" /Runtime  "C:\Numisoftware2\PruebaDemo_249.mdb)

En el InnoSetup creo los accesos directos de esta forma, pero no se donde incluir todo el path.

[Icons]
Name: {group}\Numismática; Filename: {app}\PruebaDemo_249.mdb
Name: {group}\{cm:UninstallProgram,Numismática}; Filename: {uninstallexe}
Name: {commondesktop}\Numismática; Filename: {app}\PruebaDemo_249.mdb; Tasks: desktopicon


Esperando vuestra ayuda, un saludo.
Ximo



Hola,

Pues lo tengo, pero me surge un problema añadido, el inno no me acepta las comilas dobles como puedo solucionarlo.

Saludos, ximo
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines