Upgrade to IAX2

Got a problem you cannot solve? Try here.
vartom
Posts: 17
Joined: Thu Nov 20, 2014 5:22 am

Upgrade to IAX2

Postby vartom » Tue Mar 03, 2015 4:20 am

Hello InstallAware Support Team,

I'm having a problem here. My company seriously thinking to upgrade to IA X2. (If you ask me, this should have been done a long time ago, since our current version is 11.)
So they asked me to download the trial version and compare the build time, size, installation time and those kind of things between the 2 versions.

I was able to open the older project in the X2 version, immediately set the the BEST compression under Project Settings and ran a build. We use the Best compression available now (it's value is 4) and I wanted to try the Best Compression available in the new IA version as well, but I can't decide if I'm not allowed to do that using trial version or I'm doing something wrong. So what I did was: I set the Best Compression using the slider under Project Settings (in the .mpr file the value of 4 changed to 6), but while building the project either from commandLine (that's our default) or from the UI I'm seeing this every time:

"Deployment Type: Compressed Single Self Installing EXE
Code Signing: Disabled
Compression: Default
Compiler Variables: ...."

The same thing happened when I created a new project in X2, and used the same settings. :(

Can you help me, what I'm doing wrong?

Since we use cmd to build the installer is there an option to set the compression level from there as well? I saw there were similar change request before, I was just wondering if something has changed in this topic, it would be really nice thing to have!

Best wishes,
Tamas.

vartom
Posts: 17
Joined: Thu Nov 20, 2014 5:22 am

Re: Upgrade to IAX2

Postby vartom » Tue Mar 03, 2015 9:00 am

Dear Support,

I can't wait to read your response to my problem, but since I found another one related to the upgrade process I need to add another post before that happens. Maybe you can handle both of them at the same time...

This is still related to my previous post, connected to compression rate. During the upgrade process, I uninstalled IA11, installed IA X2. Using the new version to build a project, if I leave the Compression slider to position 4 (which was the BEST compression rate in IA11), I see " Compression: Best" inside your Build Process dialog. And if I move the slider to the 6th position (which is the BEST compression in IAX2), I see " Compression: Default" in the same dialog. Which one should I believe? The result (the result exe size of my test project, and the build time is not that different between of the two option), or to what I see in the UI?


And now the new issue what I found in the meantime. Here are the steps how I'm able to reproduce it every time at my PC (WIN7 Enterprise, 16GB RAM, i7-2600 CPU):
1. Create a new project, add some prerequisite to it.
2. Set a path to the IADIR. (Using IADIR compiler variable is a must for us. We use cmd & miabuild to create a setup, and because of that we keep everything in one place. The IA files are copied too over there, and we are not using the installation folder.)
3. Start IAX2 from desktop icon, load the "test" project, and build it. I'll get the following info from Build Process dialog:

"Building Project: test
Output Folder: C:\Users\vartom\Documents\New Project\Release\SingleDeployment Type: Compressed Single Self Installing EXE
Code Signing: Disabled
Compression: Default
Compiler Variables: CACHESOURCES=TRUE,IADIR=.,UAC=requireAdministrator,MSI_ALL=FALSE,BUILDMODE=SFX,LANGUAGE=English,TITLE=test,TARGETDIR=$TARGETDIR$,PROJDIR=C:\Users\vartom\DOCUME~1\NEWPRO~1,IAVER=19.07
"

You can see, IADIR is NOT the one I set in the project settings.

4. Start IAX2 by double clicking at the "test" project and build it. This is what I get from Build Process dialog:

"Building Project: test
Output Folder: C:\Users\vartom\Documents\New Project\Release\SingleDeployment Type: Compressed Single Self Installing EXE
Code Signing: Disabled
Compression: Default
Compiler Variables: CACHESOURCES=TRUE,IADIR=C:\PROGRA~2\INSTAL~3,UAC=requireAdministrator,MSI_ALL=FALSE,BUILDMODE=SFX,LANGUAGE=English,TITLE=test,TARGETDIR=$TARGETDIR$,PROJDIR=C:\Users\vartom\DOCUME~1\NEWPRO~1,IAVER=19.07
"

You can see, IADIR is NOT the one I set in the project settings. This time is NOT the current dir ".", but the installation directory.

The main problem is neither cases I get what I want, that path what I set in the project setting, compiler variables list.

By the way this is the list what I have there now:
CACHESOURCES=TRUE
IADIR=d:\WORK\rel\make\tools\IAX2
UAC=requireAdministrator
MSI_ALL=FALSE


What should I do to fix this? I'm clueless at the moment.

Thanks,
Tamas.
Last edited by vartom on Wed Mar 04, 2015 8:30 am, edited 1 time in total.

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: Upgrade to IAX2

Postby FrancescoT » Tue Mar 03, 2015 2:42 pm

Dear Tamas,

it's not possible to control the compression level from the command line build tool. The tool will use Always the level defined with the project.
The compression level is dispalyed as "Default" from the build output, when the current selected level uses one of the two higher level available (respectively at tick 6 and 7 of the compression slider in IA X2).

For what concerns the other problem you seem to have with the "IADIR" variable, I suppose you are missing an important thing.
The IADIR is a READ ONLY compiler variable and it points to the full location of the InstallAware IDE, build module, or automation DLL folder, depending on the element executing the project build (its value is defined at product install time).

It may be possible that old IA versions used to include this variable with project at build time, but with the latest IA versions, the variable MUST BE NOT PRESENT with the project.

If you need to have a compiler variable to control your build output, define and use a CUSTOM COMPILER VARIABLE.

Hope this helps you.

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

vartom
Posts: 17
Joined: Thu Nov 20, 2014 5:22 am

Re: Upgrade to IAX2

Postby vartom » Wed Mar 04, 2015 4:19 am

Thanks Francesco,

I think you've answered all my questions.
I suppose it will a big step to upgrade from IA11 to IAX2, a lot of releases in between, I 'm pretty sure that some other things will come up along the way.

Back than, a few years ago, IA7 was integrated in our project, and we kept the pace until IA11, but after that there were other priorities.
And in IA11 setting the IADIR on project level is still working, that way this READONLY flag will mess up a little bit our process.
The main problem is that this variable is used all through yours and our MSICode/script, and I imagine that's a pretty big work to change everything to a new compiler variable, and also always merge the scripts again and again with the ones which will come with new releases.

Do you have a better idea how to do this? I'm all open ears.

Can you put out a checkbox somewhere in the UI where you specify if this IADIR variable can be defined on project level/cmd line & build time, and if that's checked it will override its installation time value?

Many thanks,
Tamas.

vartom
Posts: 17
Joined: Thu Nov 20, 2014 5:22 am

Re: Upgrade to IAX2

Postby vartom » Wed Mar 04, 2015 5:19 am

I was just trying to change our configuration based on IADIR information, and I got hold off by this main issue.

We don't have IA installed in our nightly build machines, all the IA related stuff are copied inside a folder; and that's why we set and use the IADIR from cmd line, to point to this foler.
If the IADIR's value is READONLY, and is set during installation, which will be the IADIR variable's value in our case?
We can't use InstallAware on PC where it wasn't installed, because the build system could not find it? There should be a way to get around this...

vartom
Posts: 17
Joined: Thu Nov 20, 2014 5:22 am

Re: Upgrade to IAX2

Postby vartom » Wed Mar 04, 2015 9:29 am

Hello Francesco,

I'm sorry, I'm giving you a lot of headache with my upgrade task.
I've searched the internet to find some answers to this, but nothing specific come up. I hope you'll have an answer to this issue as well.

I have a file, with UTF-8 char in it, which I'll need to bag and install if the Swedish language was selected. It's called "Lдs Mig.pdf".

I got this error back from cmd line:
"Error during build: No files matching pattern "d:\WORK\rel\make\Setup\source\Local Content\SWE\L?s Mig.pdf"
Build failed"

The file is there. I didn't have this error with the previous version. What can I do? Is there a setting for these kind of cases that I'm not aware of?

Gratitude,
Tamas.

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: Upgrade to IAX2

Postby FrancescoT » Wed Mar 04, 2015 1:34 pm

Dear Tamas,

for what concerns the "Command Line Build Tool", manually installing this tool is not recommended, you should use the InstallAware setup itself to install the tool. When installing the command line build tool without the main InstallAware IDE, keep in mind that you still have to install all required application runtimes and plug-ins that are required by your build, otherwise your builds will fail.

Please note that the installation of the InstallAware IDE on additional machines is not allowed, unless you have additional licenses for the product.

For what concerns the error you seem to have with the PDF file, I just tried to replicate the same but I don't see any error.
The file has been added at build time correctly.

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

vartom
Posts: 17
Joined: Thu Nov 20, 2014 5:22 am

Re: Upgrade to IAX2

Postby vartom » Thu Mar 05, 2015 5:59 am

Hi Francesco,

I'm fully aware about that licensing comment that you made.
Our case (in my opinion; I'm only the developer, the ultimate decision will be the PM's) will be that we'll buy 1 or 2 licenses, use those to install the product on our build machine, and using remote desktop connection to this/these PC('s) when we need to modify something inside the scripts. Is this process correct?

But the situation with this IADIR still not clarified from my point of view.

My change request would be: Can you put out a checkbox somewhere in the UI where you specify if this IADIR (and all the similar ones) variable can be defined on project level/cmd line & build time? And if that's checked and also these are present in the cmd line, it will use these values during the build process instead of the values which were set installation time.

Do you have a similar feature request from your other customers? If so, do you plan to complete this a feature? Because the command line process, using miabuild, and setting compiler variable values as parameters are still part of our workflow.

Thanks,
Tamas.

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: Upgrade to IAX2

Postby FrancescoT » Thu Mar 05, 2015 2:11 pm

Dear Tamas,

if you only install the tool without the IDE, you don't need any additional license.

"The only redistribution allowed for miabuild.exe is, when a Studio or higher license is purchased, then it is freely redistributable inside the network of an organization for unlimited build machines. The tool is NEVER distributable externally."

Please excuse me, but I really don't understand your problem about IADIR.
If the "Command Line Build Tool" is installed as recommended (using the InstallAware setup itself) on your build machine, to which you connect via Remote Desktop, there is no need to pass the IADIR from command line. It's already defined with your build machine installation as required to build your packages.

Of course this supposes that when installing the tool on your build machine, you also selected to install all required application runtimes and any plug-ins that may be required.

Then you don't have limit to use other Compiler variables.

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

vartom
Posts: 17
Joined: Thu Nov 20, 2014 5:22 am

Re: Upgrade to IAX2

Postby vartom » Tue Apr 07, 2015 3:43 am

Dear Francesco,

It looks like will be able to live with the current situation. Later on I'll let you know, if you're interested, how everything worked out with the upgrade, but since we are close to a minor release, so this went on hold until that's out there...

Although we are thinking to do some refactoring and we faced a little an issue with something. Let me shortly describe you our scenario. I was hoping you'll have an idea how to solve it OR even tell us that is NOT possible to do it in an elegant way. That will be a big help as well, so we wouldn't spend time to chase the solution.

So we have like 20 components which are selected or not, based on some installed kits on the clients machine. On average it looks like from all those components only 2 or 3 are installed at a time but we don't know which ones so we carry them all.
All these components use the same package of references (like 25 files), and so for each and every components we had to add Install Files commands for all of these files separately because the destinations are different every time.
These Install Files statements are inside a Media Block for each component, all the 25 references are bagged 20 times. Because of that the compressed size of the installer increased, but the decompressed size of it increased even more.

My question would be (because until IA11 we couldn't think of any, but since than maybe you taught of something how this can be done), is there a way to bag those 25 files ONLY ONCE (not 20 times) but install them as many times we need, to different destination folders, on the clients machine?

Thanks in advance for your help.

Regards.

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: Upgrade to IAX2

Postby FrancescoT » Tue Apr 07, 2015 12:16 pm

Dear Vartom,

My question would be (because until IA11 we couldn't think of any, but since than maybe you taught of something how this can be done), is there a way to bag those 25 files ONLY ONCE (not 20 times) but install them as many times we need, to different destination folders, on the clients machine?


Unfortunately with the Install Files command the "Source Files" parameter has to be resolved at build time and due of this, there are no possibility to pass to it a script variable at such purpose.

The only possibility that you have is to include all the various "install Files" statements within the same "Web Media Block" and then to call conditionally, each single "install Files" based on your setup specification. Because each media block is effective until a subsequent media block is encountered, with this approach I suppose you should be able to have a single BLOCK that carries all.

Hope this helps you.

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE

vartom
Posts: 17
Joined: Thu Nov 20, 2014 5:22 am

Re: Upgrade to IAX2

Postby vartom » Fri Apr 10, 2015 11:35 am

Hi Francesco,

Maybe I didn't understand correctly what you meant, so I didn't mange to resolve this problem.
I created a project to test this in a minimized level (please find it attached).

I tried 3 scenarios (please find the outcome of all in the attached picture).

In Case1 I installed the files one, files got them bagged 1 time - OK.
In Case2 & Case3 I installed them twice to different destinations (with and without a second WEB MEDIA BLOCK),the files got bagged 3 times - NOT OK.

Based on what I understood from your last massage in the 3rd scenario I should have had them bagged again 1 time, right?
Did I understand something wrong?

Can you please let me know how can I manage to bag those file only once, but install them twice to different folders?

Thanks again for your help.

Best wishes,
Tamas.
Attachments
Media Block - Tried 3 cases.png
All the cases I've tried.
Media Block - Tried 3 cases.png (160.65 KiB) Viewed 10654 times
TestProject.zip
TestProject
(1 MiB) Downloaded 316 times

FrancescoT
Site Admin
Posts: 5361
Joined: Sun Aug 22, 2010 4:28 am

Re: Upgrade to IAX2

Postby FrancescoT » Fri Apr 10, 2015 2:08 pm

Dear Tamas,

with my previous post I have only described the possibility to reduce the number of the web media block created and in order to reduce the size of the generated files (the sum of them if more blocks are created).

A single media block that includes all the "Install files" command, it will be smaller in terms of file size, if compared with different web media blocks created to hold the same files.

That's the only applicable solution.

Unfortunately, it's not possible to skip the inclusion of a file, if the same is used multiple times with different "install Files" command.
Each "install Files" command generates a unique entry with the Web Media Block and it's not possible to override or to skip this behavior.

Hope this helps you.

Regards
Francesco Toscano
InstallAware Software

White Papers (HowTos) - http://www.installaware.com/publication ... papers.htm
Publications - http://www.installaware.com/publications-review.htm
InstallAware Help -F1 anywhere in the InstallAware IDE


Return to “Technical Support”

Who is online

Users browsing this forum: No registered users and 123 guests