views:

341

answers:

3

Hi Everyone,

I am trying to create an installation disk with InstallAware Express for my Delphi 2010 application. I have selected (checked)

  • CodeGear Database Express12
  • CodeGear Visual Component Library 12

for Application Runtime.

When I try to build it, I will get an error message

Error during build: No files matching pattern "C:\Windows\system32\*120.bpl"

The message will go away if I un-check the above runtime but of coz the program will not run. Can someone please tell me what I am doing wrong?

Also... I have use their scan file button to scan the dependent files base on my application.exe and installaware put a list of files in the $TARGETDIR$, should I leave them there or I am suppose to move them to various folder (e.g. some of the files are from the windows\system32 directory...)

Thanks a lot.

A: 

Did you have Delphi 2010 installed on this machine? If so, you should see several bpl files under C:\Windows\system32 folder.

Lex Li
Somehow the *.bpl files under SYSTEM32 are ending with *140.bpl instead of the *120.bpl installAware is looking for...Would that be a version mis-matched? I downloaded both from the Embarcado website....or there be a way to change the default? Thanks.
Snackmoore
Lex Li
Amazing how it comes with Delphi 2010. Doesn't anyone use it?I have try to use inno setup but can't figure out what are the files I have to include in my installation. I've tries dependencyWalker and the output was too overwhelming... too many files.I am using the trial version and my ordered copy has not come yet... I am hoping this only happen with the trail version.... but I don't feel very lucky.
Snackmoore
Based on my experience, they have good customer support. So once you have a valid license, bother those guys when you have questions. :)
Lex Li
+2  A: 

FWIW, one of the great things about Delphi is that you can pretty much install on any system without worry if you turn off the "build with packages" option. This would eliminate the need for these files, and solve your problem, and also make the application more robust against updates and changes. IMO packages are only needed if you are building multi-module applications which are more advanced, and in that case you wouldn't want to be using any Express installer.

mj2008
Please post *answers* to the question, and then feel free to add your comments about the validity of the question's topic. You haven't provided an answer here; just a comment.
Ken White
Ken, some people don't know you can turn off packages. But my underlying answer is that you should use a better (full) installer of some kind.
mj2008
mj2008, my point is that you provided no answer to the original question, which concerned InstallAware Express. Your only reference to InstallAware is in "any Express installer" at the end of the last sentence you wrote. As I said, it's great to offer additional information, but if there is no answer it belongs in a comment instead, and your post was just that: a comment.
Ken White
A: 

You can manually add the files.

To find out which VCL packages your application uses, open the project in the IDE. Use the menu item Project->Build project to rebuild your entire application, and then use Project->Information to view the information dialog. The list of packages actually required by (and therefore needing to be distributed with) your application are listed there.

Where to install them on the destination system depends on why you're using packages in the first place. If you're using runtime packages simply to reduce the download size for your users, and the packages will only be used by this single application, put them in the same folder as your application ($TARGETDIR$). If you're using them because you've got several different applications, and they'll all be installed in different locations but use the same runtime packages, install them in the System32 folder ($SYSDIR$, if I remember correctly).

InnoSetup works fine with runtime packages manually added, btw, especially if you use the excellent (and also free) ISTool IDE. (Not affiliated in any way; just a happy customer.)

Ken White