|
Mostrar Mensajes
|
Páginas: [1]
|
1
|
Programación / Scripting / Re: [INNO Setup] Que estoy haciendo mal
|
en: 5 Febrero 2013, 23:39 pm
|
Hola,
Gracias Elektro, solo con un par de modificaciones a sido suficiente, solo una duda, como dices que un pc puede no tener Unidad C:\, se que las letras se pueden cambiar pero sería nefasto para mi que C no estubiese en la pc que se instale, no por el instalador que es lo de menos, si no por la propia aplicación que apunta a C:\ y así se donde esta cada cosa, de lo contrario tendría que cambiar esto y meterlo en un archivo *.ini.
Bueno esta son las modificaciones hechas.
DefaultDirName=C:\Numisoftware
Source: C:\Numisoftware\Programa\Numisoftware.mde; DestDir: {app}\Programa\; Flags: ignoreversion
Lo dicho muchas gracias, saludos. ximo
|
|
|
2
|
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. [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 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
|
|
|
3
|
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. 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
|
|
|
5
|
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
|
|
|
6
|
Informática / Software / Re: etablecer valor en acceso directo
|
en: 24 Marzo 2012, 18:10 pm
|
Bueno, como casí siempre me toca responderme a mi mismo, pues voy con ello (hacer notar que no hay que tener miedo a meter la gamba, o decir no lo se, solo con indicar aquello que creamos nos da pie a buscar y a lo mejor encontrar).
Name: {userdesktop}\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
Donde: Filename: el path al programa que debe abrir la aplicación (por si hay mas versiones de Access instaladas) Parameters: En modo Runtime, y el path donde se encuentra la aplicación
Saludos, ximo
|
|
|
7
|
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
|
|
|
|
|
|
|