2011-03-21 104 views
5

Parece que InnoSetup está dañando mi ejecutable al compilar el proyecto de instalación. La ejecución del archivo fuente funciona bien, pero la ejecución del archivo después de la instalación produce el error 1006 de Win32 "El volumen de un archivo ha sido alterado externamente".InnoSetup: "El volumen de un archivo ha sido alterado externamente"

He intentado deshabilitar la compresión y establecer varios indicadores, fue en vano.

¿Alguien ha experimentado esto?

ACTUALIZACIÓN

bien ha habido algunos giros a la situación:

Por el momento, puedo incluso copiar manualmente un archivo de trabajo a la ubicación en la que se instala en y obtener "El volumen de una archivo...". Para que quede claro: desinstalo la aplicación, creo la misma carpeta y pego los archivos allí y los ejecuto.

ACTUALIZACIÓN 2

Algunos detalles más para aquellos que quieren: El guión InnoSetup es compilada por FinalBuilder utilizando la salida de msbuild, también ejecutado por FinalBuilder, que se ejecuta en mi máquina con XP SP3. El ejecutable es un ensamblado C# .Net compilado en la configuración Release | AnyCPU. El archivo funciona cuando se ejecuta en la carpeta de donde lo extrae Install Script. Produce el mismo comportamiento en una máquina virtual XP. Los valores hash MD5 del archivo fuente y el archivo instalado son los mismos.

+0

Para estar seguro, esto sucede si crea un nuevo instalador para poner solo este archivo sin modificadores en el sistema de destino. Sucede en cualquier máquina que instale el archivo? sucede si solo copias el archivo? ¿Cuál es la directiva [ARCHIVOS] exacta que está utilizando para incluir el archivo? ¿Está ejecutando cualquier PascalScript en el momento de la instalación? – jachguate

+1

Gracias por el interés de todos. Obtuve una instalación en funcionamiento al crear un nuevo archivo ISS con solo las entradas mínimas (AppName, AppVer + archivos). Ahora estoy trabajando en agregar el resto de los requisitos línea por línea y probando a medida que avanzo. –

+0

Ahora vuelvo a tener el mismo problema y me está volviendo loco. ¡Ayuda! –

Respuesta

0

Nunca antes visto. Tengo algunas preguntas y sugerencias: - ¿Firmas el EXE durante la compilación de la configuración? Si es así, intenta dejar esa parte. - ¿Qué sistema operativo está instalando o sucede en todas las máquinas que ha probado?
- Ejecute la instalación con la opción /LOG="c:\install.log "y publique el registro. Podría mostrar algo que sucede durante la instalación. - Ejecute una comparación de bytes o comprobación de MD5 en el EXE de origen y el EXE instalado. ¿Son lo mismo? ¿Tienen el mismo recurso de versión?

2

ERROR_FILE_INVALID 1006 (0x3ee): El volumen de un archivo se ha modificado externamente para que el archivo abierto ya no es válido.

Sospecho que está teniendo este problema después de mover los archivos a un recurso compartido de red. Me parece que lo que sucede es que tiene un manejador de archivo abierto, posiblemente en un archivo temporal que está creando, y luego viene otro proceso (tal vez ejecutado en un host diferente) y el cambio de nombre o eliminación de ese archivo o su ' árbol de directorio principal.

Así que mi consejo es:

  1. prueba a instalar en un directorio local
  2. Ejecutar después de un análisis antivirus, en -modo seguro o en un equipo diferente para ver si no hay algunos fondo desagradable cambiar propiedades de volumen/directorio, mientras que su programa se está ejecutando.
  3. Asegúrate de que el programa no esté haciendo nada extraño con el volumen o el árbol de directorios con el que estás trabajando.
9

Ok, acabo de recibir el mismo error. Tengo una configuración que usa mi ejecutable. Busqué en mi carpeta un millón de veces, pero finalmente noté que el archivo de configuración era de longitud cero. Corregí la configuración y el error se detuvo.

Primero compruebe las cosas más simples ... ¡bien lucK!

+0

Lamentablemente, me he mudado, así que no puedo validar tu respuesta, pero podría ayudar a alguien, me alegro de que hayas resuelto. –

+0

Gracias, esto me ayudó a hacer que powershell vuelva a funcionar. ¡A 0kb powershell.exe.config me estaba dando exactamente el mismo mensaje de error! –

+0

Recibí el mismo mensaje de error en una aplicación .NET desarrollada a medida. Resultó que el disco duro estaba lleno, por lo que el archivo * .exe.config no se pudo guardar correctamente y estaba vacío. – Anlo

Cuestiones relacionadas