This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Re: Changing Prerequisite to install AFTER the Setup user input is completed
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 20, 2016
08:51 PM
Changing Prerequisite to install AFTER the Setup user input is completed
I added a Prerequisite to install the .NET Framework 3.5 and was surprised it started to install as soon as the setup program was run on a Windows 10 machine. I don't expect anything to be installed until the user goes through the setup pages. After all, if they cancel, this would have been installed.
Is there a way to change when that happens to the end? Hopefully it's some simple property setting I'm missing. Thanks.
Is there a way to change when that happens to the end? Hopefully it's some simple property setting I'm missing. Thanks.
(7) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 22, 2016
09:50 AM
Is this a basic MSI project? All projects, EXCEPT Suite/Advanced UI, run any prerequisites BEFORE the user is able to provide input to the UI. When you create a Suite/Advanced project you can make prereq's part of the installation process itself and push those out to actual features/components. This will allow you to run these installs at a later point in the installation if you wish.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 22, 2016
10:01 AM
I have an InstallScript Project, not a Basic MSI project. Does that give me this option?
If not, can I programmatically run the equivalent of the NET Framework pre-requisite instead? If so, how?
Thanks.
If not, can I programmatically run the equivalent of the NET Framework pre-requisite instead? If so, how?
Thanks.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 22, 2016
11:18 AM
I dont believe any of the projects except the Suite allow this. I dont think you can move the prereq sequences around, but i suppose you could dump the prereq exe into the users system then use installscript to execute that exe. That may work
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 25, 2016
01:52 PM
I hope someone has a solution to this. The inability to show the setup screens first has kept me from being able to implement the prerequisites into our installer.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 26, 2016
07:10 AM
If this is a pure InstallScript project then I would download the Microsoft redistributable for .NET framework. Instead of adding it as a prerequisite, add it to your support files, and then in the BeforeOnMove event code what you need to launch the app and wait for it to return.
Since this is Dot Net 3.5 we are talking about, then you may need to integrate a command line to call DISM to enable the feature on Windows 8, 8.1, and 10. Microsoft does not offer a redistributable for these platforms.
Since this is Dot Net 3.5 we are talking about, then you may need to integrate a command line to call DISM to enable the feature on Windows 8, 8.1, and 10. Microsoft does not offer a redistributable for these platforms.
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 26, 2016
09:42 AM
Thank you for your response. I'm actually only interested in turning it on for post Windows 7 machines.
However, in my tests on those O/S, just turning it on (interactively outside of a setup program) can trigger a long download process.
Regardless, how can I detect the situation and try to turn that on at the end of the Wizard if it's not on? Is it simply running the Helper.EXE file in the DISM folder?
However, in my tests on those O/S, just turning it on (interactively outside of a setup program) can trigger a long download process.
Regardless, how can I detect the situation and try to turn that on at the end of the Wizard if it's not on? Is it simply running the Helper.EXE file in the DISM folder?
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Jul 29, 2016
10:13 AM
I use installscript to build the array of features/roles i need installed. I then pass that array to a powershell script that first checks if the feature/role is already installed, if not then enable it.
Powershell script:
[CODE]
param([string]$role)
Import-Module Servermanager
if( $role -ne "" ) {
$check = Get-WindowsFeature -name $role
Write-Host "Role/Feature State is: "$check.Installed
if( $check.Installed -like "False" ) {
Add-WindowsFeature -name $role
do{
$check2 = Get-WindowsFeature -name $role
Write-Host "Installing $role."
Start-Sleep -s 1
}
while( $check2.Installed -like "False" )
}
}
[/CODE]
Call the ps1 script from Installshield
Now this powershell script only works on servers, because the Import-Module Servermanager doesn't exist on non server machines. You can do very similar things with the DISM tool tho, only its not as smart as powershell and slower.
Powershell script:
[CODE]
param([string]$role)
Import-Module Servermanager
if( $role -ne "" ) {
$check = Get-WindowsFeature -name $role
Write-Host "Role/Feature State is: "$check.Installed
if( $check.Installed -like "False" ) {
Add-WindowsFeature -name $role
do{
$check2 = Get-WindowsFeature -name $role
Write-Host "Installing $role."
Start-Sleep -s 1
}
while( $check2.Installed -like "False" )
}
}
[/CODE]
Call the ps1 script from Installshield
LaunchApplication( WindowsFolder ^ "sysnative\\WindowsPowerShell\\v1.0\\Powershell.exe", "-ExecutionPolicy Bypass -File " + svSupportFile ^ "EnableRoleFeature.ps1" + " -role " + svFeatureArray(nCount), "", SW_HIDE, INFINITE, LAAW_OPTION_WAIT );
Now this powershell script only works on servers, because the Import-Module Servermanager doesn't exist on non server machines. You can do very similar things with the DISM tool tho, only its not as smart as powershell and slower.