Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

463
Views
Modifique el archivo de configuración en el instalador de Inno Setup compilado (archivo de configuración personalizado para cada ejecutable descargado)

Estoy trabajando en un proyecto que necesita un método de operación único que requiere que un instalador de Windows exe (empaquetado con Inno Setup) se actualice con un archivo de configuración diferente que contiene un número de identificación único para cada descarga.

El proyecto en sí es una web para la cual estoy usando PHP en Apache y en Linux.

El instalador contiene un archivo ejecutable binario de Windows y un archivo config.ini . Solo necesito editar el archivo config.ini cada vez que el archivo esté listo para descargar. Las actualizaciones son simplemente un contador incrementado.

No encuentro una dirección para abordar, ya que estoy buscando editar un archivo empaquetado de Inno Setup creado en Windows para editarlo en un servidor Linux.

¿Puede alguien señalarme algunas ideas para lograr esto, por favor?

Gracias,
Sk

about 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Simplemente almacene el archivo de configuración en el instalador sin comprimir para permitir una fácil modificación. Utilice la bandera nocompression . También debe usar el indicador dontverifychecksum , de lo contrario, el instalador considerará que el archivo modificado está dañado durante la instalación.

 [Files] Source: "config.ini"; DestDir: "{app}"; Flags: nocompression dontverifychecksum

Tampoco puede modificar la longitud del archivo. Por lo tanto, debe reservar suficiente espacio en el archivo para números más grandes, como:

 [Section] Counter=?????

Para modificar el instalador con PHP, ahora puede hacer:

 $counter = $_GET["counter"]; $filename = "mysetup.exe"; $contents = file_get_contents($filename); $mask = "?????"; $prefix = "Counter="; $replace = $prefix . $mask; $p = strpos($contents, $replace); if ($p !== false) { $s = $prefix . str_pad($counter, strlen($mask), "0", STR_PAD_LEFT); $contents = substr($contents, 0, $p) . $s . substr($contents, $p + strlen($replace)); file_put_contents($filename, $contents); // or feed directly to the output stream }

Si firma el instalador (hoy en día es básicamente necesario para los instaladores descargables), debe firmarlo después de modificarlo.

O consulte Incrustar datos específicos del usuario en un instalador firmado con código de autenticación al descargar .


Otra forma es incluir los datos personalizados en el nombre del instalador.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!