Kinook Software Forums

Kinook Software Forums (
-   [VBP] User Tips, Tricks and Samples (
-   -   VisualBuild creating InstallShield DevStudio 9 installers (

Nulubez 02-11-2004 09:21 AM

VisualBuild creating InstallShield DevStudio 9 installers
It took me some time to figure out, so if it helps others:

create a release within DevStudio 9 (if you've been hacking away at an installer, you probably already have a few, so start with a fresh one, like product configuration 2, release 1). set the options you want visual studio to build.

now in visualstudio you can can build your devstudio project in the following manner: Run Program:

"%IS_DS9_DIR%\System\IsCmdBld.exe" -p "%ROOT%\Installation\PRODUCT1\ANINSTALLER.ism" -a "Product Configuration 2" -r "Release 1" -c COMP -b "%INST_BLD_DIR%"

IS_DS9_DIR: path to InstallShield dir
ROOT: my build root (e.g. D:\)
INST_BLD_DIR: where i want the output to be. (e.g. D:\buildoutput)

Note: i had some fun times if i didnt set the build root low enough. our software project has some pretty long dir names if your paths get too long, DevStudio 9 wont build properly (it will generate errors).

Also Note: While DevStudio 9 can only have one IDE running on a network per seriel, it can have unlimited Command line builds (IsCmdBld) running with a single seriel.

the way im working it, is to build to a single dir for all my installs, then copy them out to seperate build archive dirs. then later in deployment, i copy them over the network to a remote machine and using psexec, i run bat files which call the installers silently.

these bat files need to turn off echo or psexec chokes (not always, but most of the time) with a message "The process tried to write to a nonexistent pipe."

To invoke an all-in-one msi installer (ie. setup.exe) silently you can hand off msi dialog settings like this:

@echo off
%1\setup.exe /s /v"/qn INSTALLDIR=%2 USERNAME=Administrator"

now, in visual build, i would call the bat file like this (run program):
psexec \\%TargetServer% -u %INSTUNAME% -p %INSTPASSWD% -i "d:\%TargetInstDir%\INSTALL.BAT" %TargetSourceInstDir% %TargetInstallerDestinationDir%

using -u username and -p password isnt neccessary if the user you build as can log in to the target server and run things.

side note:
you can copy to drives over a windows network via \\server\d$\path where d is the drive letter. e.g. if you wanted to copy to c:\temp\instdir on a remote box, if your user is marked as an administrator on that target server, copying files to \\server\c$\temp\instdir would do it. im sure most of you know this, but it was new to me.

All times are GMT -5. The time now is 11:24 AM.

Copyright 1999-2022 Kinook Software, Inc.