Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Advice on aproach for multiple products


1 reply to this topic

Ron Weldy

Ron Weldy
  • Members
  • 5 posts

Posted 03 December 2002 - 23:42

I have a software application that comes in 6 'flavors'. The only real difference in the 6 msi files we need to produce is the exe file that is included.

I really want to be able to automate the process of building the 6 different msi files that I need to distribute as we do frequent updates to the product (one click builds them all), but I am limited in using the SDK, Visual Studio Installer and scripting to pull this off. I have a process that builds the 6 exe's and places them in different source folders. I have built merge files for the other components of the application and I have successfully created a project to create the 'final' msi by including the merge modules, the exe and a shortcut to be placed on the start menu (of course, I have to go into orca and edit the shortcut record to get it to work correctly but that's a whole different topic, hopefully I can script that process also).  

Any suggestions on how to approach and automate this task?

Thanks in advance for any input.

Mike Snodgrass

Mike Snodgrass
  • Members
  • 13 posts

Posted 13 January 2003 - 22:49

Ron,
If I understand properly, you are trying to get something automated to build Merge modules and Installs?  

Here is a snippet of what I have been doing.  I have a batch (.bat) file that will clean existing merge modules up, build the current merge modules, build the installs and copy the files to a specified directory.  I try to have a directory that I use to "smoke test" my builds, and once I pass them, I name them accordingly to the proper release.  Here is what I do:


@echo Clean up the existing merge modules on the machine.
c:
cd "\Documents and Settings\clearadm\My Documents\MySetups\MergeModules"
DEL /q *.*
x:
cd \DEV\setup\Installer\MergeModules

@echo *****************************************************************
@echo *********************BUILD THE Merge Modules*********************
@echo Build MergeModule1.msm
ISCmdBld.exe -p x:\DEV\setup\Installer\MergeModules\MergeModule1.ism -d MergeModule1 -r MergeModule1 -s -a "WeeklyBuild" -b "x:\dev\setup\installer\mergemodules\bin"

@echo Build MergeModule2.msm
ISCmdBld.exe -p x:\DEV\setup\Installer\MergeModules\MergeModule2.ism -d MergeModule2 -r MergeModule2 -s -a "WeeklyBuild" -b "x:\dev\setup\installer\mergemodules\bin"


@echo *****************************************************************
@echo *********************BUILD THE INSTALLS**************************
@echo Build -p project location -d product name -r release name -s "silent build" -a build label -b build location

cd \DEV\setup\Installer\


@echo Build Project1.ism
ISCmdBld.exe -p "X:\DEV\setup\Installer\Project1.ism" -d "Project 1" -r "WeeklyBuild" -a "Project1" -b "X:\DEV\setup\Installer\Project1\Project 1"

@echo Build Project2.ism
ISCmdBld.exe -p "X:\DEV\setup\Installer\Project2.ism" -d "Project 2" -r "WeeklyBuild" -a "Project2" -b "X:\DEV\setup\Installer\Project2\Project 2"

@echo Build Project3.ism
ISCmdBld.exe -p "X:\DEV\setup\Installer\Project3.ism" -d "Project 3" -r "WeeklyBuild" -a "Project3" -b "X:\DEV\setup\Installer\Project3\Project 3"


@echo *****************************************************************
@echo ************Create directories on Target machine*****************

cd G:


rem Project 1
mkdir "G:\BUILDTEST\Project1\"

rem Project 2
mkdir "G:\BUILDTEST\Project2\"



rem **********************************************************************************
rem ************************Copying built executable items****************************



xcopy X:\DEV\setup\Installer\Project1\WeeklyBuild\DiskImages\Disk1\* "G:\BUILDTEST\project1\project 1\bin\"
xcopy X:\DEV\setup\Installer\Project2\WeeklyBuild\DiskImages\Disk1\* "G:\BUILDTEST\project2\project 2\bin\"