Solved

InstallShield - How can I get a Read Me file to launch?"

Posted on 2000-03-09
4
921 Views
Last Modified: 2013-12-03
I'm using InstallShield for MS Visual C++ 6.  I mention this because I can't determine whether this version provides the ability to launch programs or files.

Right now I'm trying to launch a Read ME file from the DialogShowSdFinishReboot() function.  Actually this function takes the necessary parameters and passes them to the SdFinish() function.  Here is an example of SdFinish() from the docs:

 #include "Sddialog.h"

   STRING   szProductName, szTitle, szMsg, svDir, szComponents;
   STRING   szMsg1, szMsg2, szOpt1, szOpt2;
   BOOL     bvOpt1, bvOpt2;
   NUMBER   nReturn;

program

   //Set the product name to substitute for the %P place holder.
   szProductName = "My Application";

   SdProductName(szProductName);

SdWelcomeLabel:
   szTitle = "SdWelcome Example";
   Disable(BACKBUTTON);

   //Display the SdWelcome dialog box. The null string in parameter
   //two specifies the default message, which uses the %P place holder.
   SdWelcome(szTitle, "");

   Enable(BACKBUTTON);

SdSetupTypeLabel:
   szTitle = "SdProductName Example";

   //The %P place holder is embedded in a custom message that will be
   //passed to SdSetupType.
   szMsg   = "Choose the type of installation for %P.";

   svDir   = "C:\\EXAMPLE";

   // Display the SdSetupType dialog box.
   if (SdSetupType(szTitle, szMsg, svDir, 0) = BACK) then

      goto SdWelcomeLabel;
   endif;

   // The %P place holder is embedded in several of the string
   // parameters that will be passed to SdFinish.
   szTitle = "SdFinish Example";
   szMsg1  = "%P Setup is almost complete.\nChoose the options you want below.";
   szMsg2  = "Click Finish to complete %P Setup.";
   szOpt1  = "I would like to view the README file.";

   szOpt2  = "I would like to launch %P.";
   Enable(BACKBUTTON);

   // Display the SdFinish dialog box.
   SdFinish(szTitle, szMsg1, szMsg2, szOpt1, szOpt2, bvOpt1, bvOpt2);

   if(bvOpt1) then
     MessageBox("Display readme file here.", INFORMATION);
   endif;

   if(bvOpt2) then
     SprintfBox(INFORMATION, szTitle, "Launch %s here.", szProductName);
   endif;

endprogram

#include "Sddialog.rul"

// Source file: Is5fn142.rul

As you can see, if bvOpt1 is TRUE then the Read ME file is to be launched.  But since this is an example, I'm assuming they used a MessageBox rather than some sort of 'launch' function like:

LaunchApp  or
LaunchAppAndWait

When I try to get info on these functions, I get this:

This feature is unavailable in the InstallShield for Microsoft Visual C++ edition.

I must be missing something.  My first question:  is it possible to launch a Read ME file?  Also, is there some other version of InstallShield that should be obtained if I plan to do serious (many) installations?

Thanks!
 
0
Comment
Question by:John500
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 2
  • 2
4 Comments
 
LVL 12

Expert Comment

by:pjknibbs
ID: 2603597
Sounds like the cut-down InstallShield you've got doesn't support LaunchApp--they have to give you *some* incentive for buying the full version, after all! If you intend to do a lot of installers, get the full version of InstallShield--at the moment this is InstallShield 2000.
0
 

Author Comment

by:John500
ID: 2604403
pjknibbs,

Are you saying that 'LaunchApp()' would be the only function that could launch a ReadMe file?

I still think there would be a way to do this, maybe not.
0
 
LVL 12

Accepted Solution

by:
pjknibbs earned 50 total points
ID: 2604473
LaunchApp() (or LaunchAppAndWait()) are the only ways I know of to launch an external application from an InstallShield script, and I've been using the thing since version 3.0! Like I said, the version of InstallShield which ships with Visual C++ is a cut-down version, and they no doubt disabled LaunchApp() to give you an incentive to buy the full version.
0
 

Author Comment

by:John500
ID: 2604491
Ok, you convinced me.  Thanks.


0

Featured Post

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This tutorial is about how to put some of your C++ program's functionality into a standard DLL, and how to make working with the EXE and the DLL simple and seamless.   We'll be using Microsoft Visual Studio 2008 and we will cut out the noise; that i…
For most people, the WrapPanel seems like a magic when they switch from WinForms to WPF. Most of us will think that the code that is used to write a control like that would be difficult. However, most of the work is done by the WPF engine, and the W…
This is Part 3 in a 3-part series on Experts Exchange to discuss error handling in VBA code written for Excel. Part 1 of this series discussed basic error handling code using VBA. http://www.experts-exchange.com/videos/1478/Excel-Error-Handlin…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

738 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question