Installshield
-
I've taken over several install packages recently. They are developed on InstallShield 10.5 and use InstallScript. I can work through adding new files and other basic tasks for creating new builds; however, I'd like to get a deeper understanding of how IS relates to MSI, dealing with rights during installs, common pitfalls, best practices. I'm perusing the IS forums and obviously have the help files, but would prefer a more strutured presentation, and the 2-3 available books that I've seen don't sound promising. So anyone have suggestions on where I could educate myself?
BW
Quick to judge, quick to anger, slow to understand.
Ignorance and prejudice and fear walk hand in hand.
-- Neil Peart -
I've taken over several install packages recently. They are developed on InstallShield 10.5 and use InstallScript. I can work through adding new files and other basic tasks for creating new builds; however, I'd like to get a deeper understanding of how IS relates to MSI, dealing with rights during installs, common pitfalls, best practices. I'm perusing the IS forums and obviously have the help files, but would prefer a more strutured presentation, and the 2-3 available books that I've seen don't sound promising. So anyone have suggestions on where I could educate myself?
BW
Quick to judge, quick to anger, slow to understand.
Ignorance and prejudice and fear walk hand in hand.
-- Neil PeartI think InstallShield sells a tutorial type book on their site.
-
I've taken over several install packages recently. They are developed on InstallShield 10.5 and use InstallScript. I can work through adding new files and other basic tasks for creating new builds; however, I'd like to get a deeper understanding of how IS relates to MSI, dealing with rights during installs, common pitfalls, best practices. I'm perusing the IS forums and obviously have the help files, but would prefer a more strutured presentation, and the 2-3 available books that I've seen don't sound promising. So anyone have suggestions on where I could educate myself?
BW
Quick to judge, quick to anger, slow to understand.
Ignorance and prejudice and fear walk hand in hand.
-- Neil PeartHERE[^] Seriously: Evaluate all alternatives to get away from it. MSI sucks, InstallShield sucks, and InstallShield for MSI doesn't follow common rules for multiplying negatives.
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
My first real C# project | Linkify!|FoldWithUs! | sighist -
HERE[^] Seriously: Evaluate all alternatives to get away from it. MSI sucks, InstallShield sucks, and InstallShield for MSI doesn't follow common rules for multiplying negatives.
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
My first real C# project | Linkify!|FoldWithUs! | sighisthehe...There's that crazy search feature popping up again. :rolleyes: The plan is for me to try to organize things, write up processes for maintaining our builds, and hand it off to some other poor unsuspecting dev.
BW
Quick to judge, quick to anger, slow to understand.
Ignorance and prejudice and fear walk hand in hand.
-- Neil Peart -
hehe...There's that crazy search feature popping up again. :rolleyes: The plan is for me to try to organize things, write up processes for maintaining our builds, and hand it off to some other poor unsuspecting dev.
BW
Quick to judge, quick to anger, slow to understand.
Ignorance and prejudice and fear walk hand in hand.
-- Neil PeartA point of caution: If you want to install your software correctly on Vista, you must upgrade to version 12. I went through this nightmare a few months ago with installshield. I can tell you - we have had a nightmare in the past maintaining the build "procedure", such that only one person knew how to do it. If he wasn't here, no builds would get done. I took it upon myself to write a build app that would go all the way from taking the source code out of Sourcesafe, change all the header files necessary for the different builds, run Visual Studio and build all the solutions, run the "post-build" tools, then run installshield using its COM interface. Now anyone can do the builds, and it is always correct. The app was done in C# to make it easy to write. If you can spare a little time to do it, I would recommend that you write an app or script to do this too.
-
A point of caution: If you want to install your software correctly on Vista, you must upgrade to version 12. I went through this nightmare a few months ago with installshield. I can tell you - we have had a nightmare in the past maintaining the build "procedure", such that only one person knew how to do it. If he wasn't here, no builds would get done. I took it upon myself to write a build app that would go all the way from taking the source code out of Sourcesafe, change all the header files necessary for the different builds, run Visual Studio and build all the solutions, run the "post-build" tools, then run installshield using its COM interface. Now anyone can do the builds, and it is always correct. The app was done in C# to make it easy to write. If you can spare a little time to do it, I would recommend that you write an app or script to do this too.
Thanks for the heads up. We don't currently have anyone running on Vista, but it certainly won't be far away, and I don't think anyone has tested our installs on Vista yet. X|
David Knechtges wrote:
such that only one person knew how to do it.
I would like to avoid that in the future. The "Install Guy" just left last week, so I'm pretty much on my own at this point. We don't have any major issues, currently, but I'd like to get things written up, automated (now), and at least one other person as a backup.
BW
Quick to judge, quick to anger, slow to understand.
Ignorance and prejudice and fear walk hand in hand.
-- Neil Peart -
A point of caution: If you want to install your software correctly on Vista, you must upgrade to version 12. I went through this nightmare a few months ago with installshield. I can tell you - we have had a nightmare in the past maintaining the build "procedure", such that only one person knew how to do it. If he wasn't here, no builds would get done. I took it upon myself to write a build app that would go all the way from taking the source code out of Sourcesafe, change all the header files necessary for the different builds, run Visual Studio and build all the solutions, run the "post-build" tools, then run installshield using its COM interface. Now anyone can do the builds, and it is always correct. The app was done in C# to make it easy to write. If you can spare a little time to do it, I would recommend that you write an app or script to do this too.
I did the same with batch files :) (C# wasn't really available back then...) But due to my intense cursing, noone dares to get near.
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
My first real C# project | Linkify!|FoldWithUs! | sighist -
I've taken over several install packages recently. They are developed on InstallShield 10.5 and use InstallScript. I can work through adding new files and other basic tasks for creating new builds; however, I'd like to get a deeper understanding of how IS relates to MSI, dealing with rights during installs, common pitfalls, best practices. I'm perusing the IS forums and obviously have the help files, but would prefer a more strutured presentation, and the 2-3 available books that I've seen don't sound promising. So anyone have suggestions on where I could educate myself?
BW
Quick to judge, quick to anger, slow to understand.
Ignorance and prejudice and fear walk hand in hand.
-- Neil Peartbrianwelsch wrote:
They are developed on InstallShield 10.5 and use InstallScript.
HEY! Take this to the Soapbox! I have half a mind to report this as abuse!!! ;P
"I'm a great believer in luck, and I find the harder I work the more I have of it." - Thomas Jefferson
-
hehe...There's that crazy search feature popping up again. :rolleyes: The plan is for me to try to organize things, write up processes for maintaining our builds, and hand it off to some other poor unsuspecting dev.
BW
Quick to judge, quick to anger, slow to understand.
Ignorance and prejudice and fear walk hand in hand.
-- Neil PeartYou might enjoy varying the search term, such asleaving out the first syllable, or removing all occurences of 'eld' wiht 't'. :rolleyes: To be fair, it's doable, but that MSI stuff is scary. I guess it's ok if you have a vanilla installation - but just some problems I saw on the forums are crazy - e.g trying to control if a file gets overwritten or not.
brianwelsch wrote:
write up processes for maintaining our builds
Just make sure your name doesn't appear on that :cool:
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
My first real C# project | Linkify!|FoldWithUs! | sighist -
A point of caution: If you want to install your software correctly on Vista, you must upgrade to version 12. I went through this nightmare a few months ago with installshield. I can tell you - we have had a nightmare in the past maintaining the build "procedure", such that only one person knew how to do it. If he wasn't here, no builds would get done. I took it upon myself to write a build app that would go all the way from taking the source code out of Sourcesafe, change all the header files necessary for the different builds, run Visual Studio and build all the solutions, run the "post-build" tools, then run installshield using its COM interface. Now anyone can do the builds, and it is always correct. The app was done in C# to make it easy to write. If you can spare a little time to do it, I would recommend that you write an app or script to do this too.
Interesting. We wrote a new installer for our product a few months back using InstallAware and everything worked first time. :) Integrating it into the build was pretty easy once we figured out how to conditionally compile for different configurations (we build Debug, Release and Retail builds). I'm really, really glad we never went the Installshield route!
Anna :rose: Linting the day away :cool: Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
-
brianwelsch wrote:
They are developed on InstallShield 10.5 and use InstallScript.
HEY! Take this to the Soapbox! I have half a mind to report this as abuse!!! ;P
"I'm a great believer in luck, and I find the harder I work the more I have of it." - Thomas Jefferson
:) Oh, I'm sure there will be some abuse involved in the near future.
BW
Quick to judge, quick to anger, slow to understand.
Ignorance and prejudice and fear walk hand in hand.
-- Neil Peart -
HERE[^] Seriously: Evaluate all alternatives to get away from it. MSI sucks, InstallShield sucks, and InstallShield for MSI doesn't follow common rules for multiplying negatives.
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
My first real C# project | Linkify!|FoldWithUs! | sighistMSI possibly doesn't suck if you understand its rules. However, its rules are pretty arcane - and InstallShield-generated packages break many of them. InstallShield aren't alone in this - Visual Studio-generated packages are pretty rubbish too, and Microsoft's Visual Studio merge modules commonly suck. MSI was invented by Office and it's fairly clear that DevDiv generally don't "get it". To be fair, the documentation is very hard to get into - I found "The Definitive Guide to Windows Installer[^]" very helpful, although it starts from the perspective of someone familiar with building MSIs with Visual Studio. WiX is written by people who actually do get it; unfortunately we get a lot of people on the mailing list who ask to subvert WiX and MSI and aren't too happy when the answer is 'don't do that'.
Stability. What an interesting concept. -- Chris Maunder
-
You might enjoy varying the search term, such asleaving out the first syllable, or removing all occurences of 'eld' wiht 't'. :rolleyes: To be fair, it's doable, but that MSI stuff is scary. I guess it's ok if you have a vanilla installation - but just some problems I saw on the forums are crazy - e.g trying to control if a file gets overwritten or not.
brianwelsch wrote:
write up processes for maintaining our builds
Just make sure your name doesn't appear on that :cool:
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
My first real C# project | Linkify!|FoldWithUs! | sighistpeterchen wrote:
trying to control if a file gets overwritten or not.
If both files have a version number in their version resources, latest version wins. If one file has a version number and the other doesn't, the file with the version number wins. If neither file has a version number, the one with the latest creation date wins, unless the file already on the disk has been modified (modified date newer than creation date) in which case the existing file is kept. File hashes can be used to check whether the existing file is different from the new file before obtaining the new file, in the 'neither file has a version' case (this is useful in internet download/administrative share scenarios where the remote file may take some time to obtain before being checked). The creation date on the installed file is set to the date on the source file, which is in the CAB metadata if the files are in an embedded or loose CAB. If the files are loose (not in a CAB), there's a chance that the creation date may be set incorrectly and confuse things. InstallShield's feature to force overwriting lies to MSI and enters a very large version number in the FileVersion column of the File table, which is liable to cause a repair every time an advertised shortcut is used. Not recommended. This only works because Windows Installer checks the version listed in the FileVersion column, not checking the actual file (this is again presumably to prevent having to obtain/unpack the file until necessary). If you're trying to have an older package overwrite a newer one in-place, you can't. You must uninstall the newer package then install the old one. You can still do this with the
RemoveExistingProducts
action but it will need to be scheduled before the install script for the new product (i.e. beforeInstallInitialize
).Stability. What an interesting concept. -- Chris Maunder
-
Interesting. We wrote a new installer for our product a few months back using InstallAware and everything worked first time. :) Integrating it into the build was pretty easy once we figured out how to conditionally compile for different configurations (we build Debug, Release and Retail builds). I'm really, really glad we never went the Installshield route!
Anna :rose: Linting the day away :cool: Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
Have you tested your InstallAware setups under Vista yet?
Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com
-
Have you tested your InstallAware setups under Vista yet?
Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com
It was tested under Vista before it was tested under XP. ;)
Anna :rose: Linting the day away :cool: Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
-
It was tested under Vista before it was tested under XP. ;)
Anna :rose: Linting the day away :cool: Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
Just took a look at their site, looks like a nice product. They have a 30 trial download so I think I'll give it a whirl and then pitch it to my client if it's smooth sailing. Thanks, Anna!
Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com
-
Just took a look at their site, looks like a nice product. They have a 30 trial download so I think I'll give it a whirl and then pitch it to my client if it's smooth sailing. Thanks, Anna!
Author of The Career Programmer and Unite the Tribes www.PracticalStrategyConsulting.com
Anytime Christopher! We came across them at the ESWC last year, and from what we can gather they are a 10 year old company of ex-Installshield people who wanted to make a product that actually works. They seemed like an easy going bunch with a very good product, so we thought we'd give them a try after they offered a free copy of the Express Edition to any delegate who gave them a business card. :) We actually went for the Studio edition (second from the top of the range) in the end as it allowed us to design custom dialogs within the installer and a few other bits, but for most purposes the Express Edition should suffice.
Anna :rose: Linting the day away :cool: Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
-
MSI possibly doesn't suck if you understand its rules. However, its rules are pretty arcane - and InstallShield-generated packages break many of them. InstallShield aren't alone in this - Visual Studio-generated packages are pretty rubbish too, and Microsoft's Visual Studio merge modules commonly suck. MSI was invented by Office and it's fairly clear that DevDiv generally don't "get it". To be fair, the documentation is very hard to get into - I found "The Definitive Guide to Windows Installer[^]" very helpful, although it starts from the perspective of someone familiar with building MSIs with Visual Studio. WiX is written by people who actually do get it; unfortunately we get a lot of people on the mailing list who ask to subvert WiX and MSI and aren't too happy when the answer is 'don't do that'.
Stability. What an interesting concept. -- Chris Maunder
Wix is kind of cool - I was going to suggest this to the OP. I use it at work for a few things and it was pretty simple to grok for my, admittedly pretty basic, needs.
¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog
-
Interesting. We wrote a new installer for our product a few months back using InstallAware and everything worked first time. :) Integrating it into the build was pretty easy once we figured out how to conditionally compile for different configurations (we build Debug, Release and Retail builds). I'm really, really glad we never went the Installshield route!
Anna :rose: Linting the day away :cool: Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
Does InstallAware support multi-lingual installations out of the box yet? When I last evaluated it, some time ago, it supported multi-lingual installations but you had to do the entire translation yourself using some convoluted editor. In the end we chose InstallShield purely because it provided multi-lingual dialogs ready translated. So you only had to translate strings specific to your project which made much more sense. Sadly the decision was flawed and defintely did not save time. In practice Installshield makes such a hash of managing your multi-lingual strings and components that I waste vast amounts of time directly editing the underlying MSI tables to correct what Installshield did! In fact I spend so much time in the DirectEditor window of Installshield it makes me wonder why we bothered buying Installshield in the first place!!! If I had to choose over again, I doubt Installshield would be in the frame.
-- The Obliterator
-
Anytime Christopher! We came across them at the ESWC last year, and from what we can gather they are a 10 year old company of ex-Installshield people who wanted to make a product that actually works. They seemed like an easy going bunch with a very good product, so we thought we'd give them a try after they offered a free copy of the Express Edition to any delegate who gave them a business card. :) We actually went for the Studio edition (second from the top of the range) in the end as it allowed us to design custom dialogs within the installer and a few other bits, but for most purposes the Express Edition should suffice.
Anna :rose: Linting the day away :cool: Anna's Place | Tears and Laughter "If mushy peas are the food of the devil, the stotty cake is the frisbee of God"
Just as a side note - I just downloaded this, and I noticed that they wrote it using Delphi! Woot!
¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog