Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   ¿Cómo hago para que el Inno setup no me copie ciertas carpetas? (https://www.clubdelphi.com/foros/showthread.php?t=76457)

danielmania8 02-11-2011 14:18:15

¿Cómo hago para que el Inno setup no me copie ciertas carpetas?
 
Me explico, yo estoy creando un Repack o juego modificado con Innosetup. El asunto es que las carpetas que contienen las librerías(Directx y todo lo demás) se me copian a la carpeta de la aplicación en Archivos de programa. Yo no quiero que copie las librerías(Dirextc) a esa dirección, pero si quiero que al final de instalar los datos propios de la aplicación, se me ejecute el Dirextc, y haga sus actualizaciones correspondientes para que la aplicación funcione. La lógica me dice que el camino a segur sería que la aplicación cargara en temporales la carpeta dirextc y que desde allí ejecutará el directxsetup.exe, para no ser copiado a ArchivosdePrograma, pero lamentablemente si lo hago así mi aplicación me tira un error que dice que "que no puede ejecutar el directxsetup.exe por no encuetra la ruta del archivo especificado" y hasta allí se queda, sin hacer las actualizaciones.

He intentando usar el comando "Flags: dontcopy", o el "Flags:deleteafterinstall" pero no he tenido éxito. Paso el código completo, para ver mi amigo si me me puedes iluminar. Hasta hora todo lo que solicito, me han respondido excelentemente.


Código:

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked
Name: Task1; Description: "Es necesario Instalar esta Librería";
Name: task1\task2; Description: DirectX 8.0

[Files]
Source: "C:\Computer Artworks\La Cosa\bin\thething.exe"; DestDir: "{app}"; Flags: ignoreversion
Source: "C:\Computer Artworks\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
source: "C:\Computer Artworks\Directx\*"; DestDir: "{app}"; Flags: deleteafterinstall

[Icons]
Name: "{group}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"
Name: "{group}\{cm:UninstallProgram,{#MyAppName}}"; Filename: "{uninstallexe}"
Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon

[Run]
Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, "&", "&&")}}"; Flags: nowait postinstall skipifsilent
Filename: "{app}\directx\dxsetup.exe"; Parameters: /silent; StatusMsg: Instalando DirectX...; Tasks: task1\task2; Flags: waituntilterminated
Filename: "{app}\regsetup.exe"; Parameters: /silent;


Neftali [Germán.Estévez] 02-11-2011 15:43:54

El problema es que seguramente con alguna de estas 2 líneas estás copiando esos ficheros:

Código:

Source: "C:\Computer Artworks\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs createallsubdirs
source: "C:\Computer Artworks\Directx\*"; DestDir: "{app}"; Flags: deleteafterinstall

Revisa qué ficheros estás copiando y qué hay en esos directorios con esas 2 líneas. Revisa también los flags que contienen (recursesubdirs).

danielmania8 04-11-2011 04:00:10

Ya di con el problema, es que los archivos que no quería que se copiaran al disco debía ejecutarlos en la cabecera [Run] con la constante "src", y por supuesto en la sección [Files] no incluirlos. Gracias por su interés en contestar la pregunta.


La franja horaria es GMT +2. Ahora son las 18:30:08.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi