cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Superfreak3
Level 11

Two Different Releases and Prerequisites (.exe and .msi), Can it be done?

Jump to solution

Hi all,  I have an install template for a dual use package (per-user/per-machine based on properties) where the per-user install will be in the form of an .msi, but the per-machine install is a release wrapped in an .exe.  This is to deliver some prerequisites, etc not needed on the per-user side of things.

I have a prereq selected and I initially had it assigned to a release flagged feature and that was included in my release, but I get an error when I compile the .msi release (not wrapped in a setup.exe) indicating to create a setup.exe encapsulated release.

Is there any workaround for having prequisites for one release in a project while another release in the same project is output as an .msi.

I tried the release flag directly on the prerequisite itself + specifying the flag in the desired release, but that too failed.

Any help appreciated!  Thanks!

Labels (1)
0 Kudos
(1) Solution
banna_k
Revenera
Revenera

Hi @Superfreak3,

Yes, its possible to do.

As you have mentioned, need to configure the release flag for the opted prerequisite and then the same release flag for the release which need to build along with prerequisite. So, this release is required to build along with setup.exe as there is a prerequisite configured to build.

prerequisite configured with a release flag "withprq", and the same configured for the "Release 1" release flag. so during the build of "Release 1", it build the setup.exe and the prerequisite. 

So, next configuring the release ("Release 2") to build the msi without prerequisite and setup.exe:     

Configure the "Release 2" to build without the setup.exe. If we leave empty release flag for the "Release 2", then it include and build the entire project without any filter, including the prerequisite. So in order to apply the filter, simply add a new release flag for the "Release 2". Enter something like "withoutprq" for the "Release 2" release flag. Then the "Release 2" build the msi without the setup.exe.    

View solution in original post

(8) Replies
tmurnane
Level 3

Unfortunately - I do not think it's possible with a Basic MSI project. I see what you are trying to do - seems like it should be smart enough to know that the feature you associated the prereq to would not be included in the release you're building, but it doesn't appear to.

Do you have the ability to create a Suite install? It is very simple to implement via a suite.

0 Kudos
banna_k
Revenera
Revenera

Hi @Superfreak3,

Yes, its possible to do.

As you have mentioned, need to configure the release flag for the opted prerequisite and then the same release flag for the release which need to build along with prerequisite. So, this release is required to build along with setup.exe as there is a prerequisite configured to build.

prerequisite configured with a release flag "withprq", and the same configured for the "Release 1" release flag. so during the build of "Release 1", it build the setup.exe and the prerequisite. 

So, next configuring the release ("Release 2") to build the msi without prerequisite and setup.exe:     

Configure the "Release 2" to build without the setup.exe. If we leave empty release flag for the "Release 2", then it include and build the entire project without any filter, including the prerequisite. So in order to apply the filter, simply add a new release flag for the "Release 2". Enter something like "withoutprq" for the "Release 2" release flag. Then the "Release 2" build the msi without the setup.exe.    

Thank you. I will try this as soon as I can and report back.
0 Kudos

That appears to have worked perfectly!  I don't think I would have thought to add a different release on the .msi creating release.

0 Kudos

I do have one more question.  Right now, we only have 1 prerequisite and that seems to work with the solution you provided.

What is the best course of action if we add another prerequisite for our .exe package.  I can't remember if the same release flag can be used on a different prerequisite or if I should use a different flag. 

Is it good enough to have the noprereq flag on the .msi package release to make this all work.  In other words, does there only have to be one, different flat on the .msi release to make this solution work or should there be another, different flag added there....

.exe Release flag which matches the prerequisite - prereq

.msi Release flag which is different from above - noprereq

 

Now we add another prerequisite to be installed.  Should I add a flag to that prerequisite, prereq2 and add that to the .exe install release?

With that, does the noprereq on the .msi release suffice or should I add a noprereq2 there? 

0 Kudos

Hi @Superfreak3,

Answer to your question:

"What is the best course of action if we add another prerequisite for our .exe package.  I can't remember if the same release flag can be used on a different prerequisite or if I should use a different flag.  "

 

You can use the same release flag whatever you have configured for the "Release" to build the setup.exe.

0 Kudos

So in the prereqs themselves I can use something like prereq or ServerPrereq (same on all that need to be included) and on the .msi release just use noprereq or NoServerPrereq.

I think what I have currently is different flags for the prereqs and I just add a no prefix on the release flag in the .msi release.  I guess using different flag names for the prereqs is a little clearer when I look at the .exe releases.  It's easier to see what prereqs are included.  For example we need the IIS URL Rewrite and the .NET Core currently.  So, my flags are URLRewrite and NetCore.  I then add those to the .exe releases.

On the .msi releases, I currently have NoURLRewrite,NoNetCore.  This all seems to work, but I'm wondering if I could just go with one flag on my .msi releases, let's say NoPrereqs. 

.exe release flags - URLRewrite,NetCore

.msi release flags - NoPrereqs

I guess that's easy enough to test.

Thanks for your help!!

0 Kudos

I tested using the single release flag for the .msi release and that seems to have worked.

I may go with the single Prereqs flag on each prerequisite and just use the Prerequisites view if I forget or need to validate what prerequisites are included.

0 Kudos