windows-installer - qué - rutas relativas arcgis
InstallShield-rutas de archivo relativas (6)
¿Cómo puedo agregar un archivo a un componente InstallShield especificando una ruta relativa al proyecto InstallShield para facilitar la compilación del proyecto en diferentes máquinas?
Aquí está mi solución si la partición de disco de sus "archivos fuente" no fuera la misma que en <ISProjectFolder>:
- Abra el archivo de script installshield (* .isl) con el bloc de notas;
- Conozca la variable predefinida "<VSSolutionFoler>", es la carpeta de la carpeta de su solución de instalación.
- Reemplace la ruta absoluta de archivo (s) en la ruta relativa a "foler solución". es decir, & lt; VSSolutionFolder & gt; .. / .. / exe / release / myapp.exe
Con la edición limitada VS gratuita de InstallShield, no es posible establecer rutas personalizadas. Por lo tanto, puede ser necesario piratear el archivo ISL con solo unas pocas opciones de ruta predefinidas disponibles.
Aquí están las variables de ruta predefinidas que encontré en los documentos de 2013 Express: (Verificar en caso de errores tipográficos)
Predefined Path Variable Value InstallScript Path Variable
--------------------------------------------------------------------------------------------------------------
<ProgramFilesFolder> C:/Program Files/ <PROGRAMFILES>
<CommonFilesFolder> C:/Program Files/Common Files/ <COMMONFILES>
<WindowsFolder> C:/Windows/ <WINDIR>
<SystemFolder> C:/Windows/System32/ <WINSYSDIR>
<ISProjectFolder> C:/InstallShield 2013 Projects/
<ISProjectDataFolder> <ISProjectFolder>/ProjectName <ISPROJECTDIR>
<ISProductFolder> C:/Program Files/InstallShield/2013
<ISRedistPlatformDependentFolder> C:/Program Files/InstallShield/2013/
./Redist/Language Independent/i386
<ISRedistPlatformDependentExpressFolder> C:/Program Files/InstallShield/2013/
./Redist/Language Independent/
./i386 Express
Mi solución VS incluye un complemento de Outlook y un proyecto de instalación InstallShield LE. Aunque InstallShield incluía la salida generada por AddIn y los ensamblajes relacionados, no se incluyeron ni el manifiesto ni los archivos vsto. Así que necesitaba especificar estos por separado. Esto funcionó para una estación de trabajo; sin embargo, otra estación de trabajo que compartía la solución tenía una estructura de directorio de origen diferente que daba fuentes no resueltas.
InstallShield agregó los archivos de manifiesto y vsto con rutas absolutas. Un enlace simbólico común a todas las estaciones de trabajo podría haber resuelto el problema, pero decidí piratear los archivos ISL para ver si es posible usar rutas relativas al darse cuenta de que el archivo ISL podría requerir un mantenimiento en el futuro.
Para obtener el directorio padre común (es decir, el directorio de la solución en mi caso), especifiqué los siguientes dos selectores padre (.. / ..) en el ISL para artefactos especiales listados en <table name = "File"> .
...<td><ISPROJECTDIR>../../MyProject/bin/Release/...
donde las entidades HTML se utilizan para los símbolos circundantes menor que / mayor que de la variable <ISPROJECTDIR> .
Ejecuté una segunda prueba (que debería haber sido la primera) usando la variable <ISPROJECTFOLDER> en lugar de <ISPROJECTDIR> . En esta prueba, solo fue necesario un selector padre:
...<td><ISPROJECTFOLDER>../MyProject/bin/Release/...
Hasta ahora, las cosas parecen resolverse correctamente, pero su relatividad puede variar.
Cuando agregue el archivo, debe intentar que sea relativo al archivo de proyecto installshield. Si mantiene el archivo .ism en su árbol de origen, entonces cualquier archivo ejecutable que agregue debe tener una ruta relativa a ese archivo.
<ISProjectFolder>
es la macro para el directorio que contiene el proyecto Install Shield.
(Mucho más fácil tener la respuesta en esta página ...)
Puede usar <path variables>
( consulte la documentación : resucitado de Wayback, agosto de 2018) para señalar todos sus archivos en relación con ellos.
También vea esta entrada de blog .
- Fije las rutas relativas para el contenido del archivo que se copiará con Install Shield Limited Edition en el directorio de salida (Visual Studio 2012) Pasos:
- Expanda su proyecto de instalación en el Explorador de soluciones para que vea las secciones 1,2,3,4,5,6.
- Expanda ''2'' y haga doble clic en ''Archivos''. Aparecerá una página de cuatro paneles: con ''Archivos de la computadora de origen'' y ''Archivos de la computadora de destino''
- Elimine sus rutas y archivos codificados en el disco duro de la computadora de destino.
- Haga clic en el panel superior izquierdo, en el proyecto que tiene sus archivos como ''Archivos de contenido''
- El panel superior derecho mostrará ''Archivos de contenido de MyProject''
- haga clic y arrastre esto al panel inferior derecho (los ''Archivos de la computadora de destino'')
Vuelva a su proyecto y asegúrese de que todos los archivos que desea copiar tengan propiedades: Crear Acción = Contenido y Copiar en el directorio de salida = Copiar Siempre