From: Pete Delgado on 19 Jun 2007 23:15 "Rob" <Rob(a)discussions.microsoft.com> wrote in message news:AA20CEBA-2515-429C-83DA-E69E37A3D0F2(a)microsoft.com... >> If your prerequisites are packaged as MSI files, then the logic within >> the >> MSI file will determine whether a reboot is needed. You can use >> MsiSetExternalUI and trap the messages to determine the requirements of >> the >> software at run-time and control the installation of the package with >> your >> wizard. >> > One of our prerequisites is SQL Server Express, which is packaged as an > executable. Run the executable on a clean system. You will find that it is simply a self-extracting archive that houses the MSI files. -Pete
From: Pete Delgado on 20 Jun 2007 01:29 "Rob" <Rob(a)discussions.microsoft.com> wrote in message news:AA20CEBA-2515-429C-83DA-E69E37A3D0F2(a)microsoft.com... >> If your prerequisites are packaged as MSI files, then the logic within >> the >> MSI file will determine whether a reboot is needed. You can use >> MsiSetExternalUI and trap the messages to determine the requirements of >> the >> software at run-time and control the installation of the package with >> your >> wizard. >> > One of our prerequisites is SQL Server Express, which is packaged as an > executable. http://www.devx.com/dbzone/Article/31648 The above article may help you... -Pete
From: Rob on 25 Jun 2007 18:16 > > What the above code does is simply create what is known as an "exterior > page". If you do not change the flags of the property page, then the page > automatically becomes an "interior page". > > To set the "Finish" button you should do the following in your OnSetActive > handler for the final CPropertyPage: > > CPropertySheet* pSheet = (CPropertySheet*)GetParent(); > ASSERT_KINDOF(CPropertySheet, pSheet); > pSheet->SetFinishText (_T("Finish")); > pSheet->SetWizardButtons(PSWIZB_FINISH); > > Please note that in order to allow for localization you should be loading a > resource string for the text of your finish button. > > To enable or disable specific buttons use SetWizardButtons from the > OnSetActive handler in each CPropertyPage: > > Example: (Enables the Next button only): > > CPropertySheet* pSheet = (CPropertySheet*)GetParent(); > ASSERT_KINDOF(CPropertySheet, pSheet); > pSheet->SetWizardButtons(PSWIZB_NEXT); > > Example: (Enables the Next and Back buttons): > > CPropertySheet* pSheet = (CPropertySheet*)GetParent(); > ASSERT_KINDOF(CPropertySheet, pSheet); > pSheet->SetWizardButtons( PSWIZB_BACK | PSWIZB_NEXT ); > Is there any way to show the Finish button and hide only the Next button? I want to leave the Back button showing, but CPropertySheet::SetFinishText() hides the Back button as well as the Next button. Also, how do I get access to the 'Next' button so that I can get its text? (My wizard, implemented in the bootstrap program of an installer, is supposed to be the first few pages of the installer wizard. The install that gets launched after the last page of the portion in code is meant to carry on the wizard where the bootstrap left off, so it would make sense for the text on the 'Finish' button to be the same as on the 'Next' button to keep the illusion intact.)
From: Tom Serface on 26 Jun 2007 11:20 Hi Rob, You could just call: pSheet->SetWizardButtons( PSWIZB_BACK | PSWIZB_FINISH ); if you don't need to actually change the text. You could try calling GetDlgItem(ID_WIZNEXT) to get the window for the Next button. Then you could get or set the text on the button. Tom "Rob" <Rob(a)discussions.microsoft.com> wrote in message news:8B5B0D31-5EEA-4231-A415-7F77C22113B5(a)microsoft.com... > Is there any way to show the Finish button and hide only the Next button? > I > want to leave the Back button showing, but CPropertySheet::SetFinishText() > hides the Back button as well as the Next button. > > Also, how do I get access to the 'Next' button so that I can get its text? > (My wizard, implemented in the bootstrap program of an installer, is > supposed > to be the first few pages of the installer wizard. The install that gets > launched after the last page of the portion in code is meant to carry on > the > wizard where the bootstrap left off, so it would make sense for the text > on > the 'Finish' button to be the same as on the 'Next' button to keep the > illusion intact.)
From: Rob on 26 Jun 2007 13:14 "Tom Serface" wrote: > Hi Rob, > > You could just call: > > pSheet->SetWizardButtons( PSWIZB_BACK | PSWIZB_FINISH ); > > if you don't need to actually change the text. > > You could try calling GetDlgItem(ID_WIZNEXT) to get the window for the Next > button. Then you could get or set the text on the button. > > Tom > > > "Rob" <Rob(a)discussions.microsoft.com> wrote in message > news:8B5B0D31-5EEA-4231-A415-7F77C22113B5(a)microsoft.com... > > > Is there any way to show the Finish button and hide only the Next button? > > I > > want to leave the Back button showing, but CPropertySheet::SetFinishText() > > hides the Back button as well as the Next button. > > > > Also, how do I get access to the 'Next' button so that I can get its text? > > (My wizard, implemented in the bootstrap program of an installer, is > > supposed > > to be the first few pages of the installer wizard. The install that gets > > launched after the last page of the portion in code is meant to carry on > > the > > wizard where the bootstrap left off, so it would make sense for the text > > on > > the 'Finish' button to be the same as on the 'Next' button to keep the > > illusion intact.) > The problem is that, with the last page not having a Finish button, the wizard doesn't exit the way it should. (In fact, it doesn't exit at all unless the user clicks Cancel.) What would be helpful is to have a way for the last Next button to behave as though it's the Finish button. With the info that you gave, I guess it's possible to just hide the Next button, show the Finish button and copy the text from the former to the latter. No big deal, though. Concerns regarding look and feel consistency between the wizard in the bootstrap program and the one in the main install have forced us to rethink things and go with a wizard that has the exterior pages in the bootstrap, so we're not going to be doing the crazy stuff any more.
First
|
Prev
|
Next
|
Last
Pages: 1 2 3 Prev: Enabling/disabling Tree Control items Next: Debug Assertation Failed |