View Full Version : build fails - think I need to change generated inf filename

05-31-2007, 04:07 PM
I created a new mobile device project, ran through the Smart Device Setup Wizard with fairly standard settings and everything seemed ok. Hit build and it built without error except that part way through the build a message box came from cabwiz.exe with a usage statement. The log file reports no errors but in the release folder there is no .cab file generated. I did find a .inf file that is generated in the interm folder. When I run cabwiz.exe on that from the command line, a .cab file is generated, however, I have to put "" around the .inf filename since the filename that is generated by installshield has spaces in it (My Company myapp.inf). My theory is that when installshield calls cabwiz it doesn't generate "" around the .inf filename so that is why I'm getting the usage statement. Is there any way to change the name of the .inf file that is generated? I couldn't see anything in the Wizard. Even if I remove the space in "My Company" there is still a space generated between the company name and the application name and the wizard won't let me leave the company name blank. Any ideas? I haven't seen anything on the web about this problem and it seems like a showstopper so I figure there must be something simple I'm missing.


06-01-2007, 08:57 AM
Strangely enough if I open the exact same project in Visual Studio .NET 2003 and build it from there it works fine. Unfortunately the guy who will be doing the install won't have Visual Studio 2003 on his machine so that doesn't help. I need to be able to do it from InstallShield.


06-01-2007, 04:07 PM
Hmmm...I don't think spaces are the problem. I tried with the current version of InstallShield (2008) but thought maybe it was a problem with your version (11.5). But, trying in 11.5 I sucessfully built a smart device project without error with spaces in the inf file:
C:\My InstallShield 11.5 Projects\My Project Name-2\Interm\My Company My Project Name-2.inf

Does the log file in the Interm folder indicate anything?

Can you build a new smart device project with just one file without error? That is what I did to test.

06-05-2007, 03:59 PM
Even with one file it doesn't work. Log file doesn't say anything that would help (see below). I realized that I am using version 11 not 11.5, not sure that if makes a difference. I guess I posted to the wrong section.


================= Logging started at 6/5/2007 04:54:44 PM ==================
Created release folders
Building Smart Device Setup...
Analyzing data in Application "My Project Name-6"...
Creating INF file for Application "My Project Name-6"...
Building CAB files for Application "My Project Name-6"...
Release - 0 error(s), 0 warning(s)
================= Logging stopped at 6/5/2007 04:54:46 PM ==================
Log file has been created: <file:C:\My InstallShield 11 Projects\My Project Name-6\LogFiles\6-5-2007 04-54-44 PM.txt>

06-05-2007, 05:20 PM
What about the log file in the Interm folder? Example:
..projectfolder\Interm\My Company My Project Name-23.log

06-06-2007, 07:06 AM
Not much in the log filein the interm folder either -all it says is:

>>> Compiling My Company My Project Name-6.cab <<<

The .inf in the interm folder looks ok (see below). I can run cabwizard from the command line on that .inf file it and it generates the CAB just fine.

The only reason I suspect the spaces is because of the CABWizard usage message box that pops up during the build in InstallShield. The only time I get that usage box to come up when running CABWizard from the command line is when I don't give it the correct number of command line arguments, which occurs if I don't put ""s around the .inf filename.


Signature="$Windows NT$"
Provider="My Company"
CESignature="$Windows CE$"

AppName="My Project Name-6"
InstallDir=%CE1%\My Company\My Project Name-6

Files00 = 0, %CE1%\My Company\My Project Name-6

1=, "SourceDisk01",,C:\CODE\CSPro40\releaseMobile5\bin

"CapiECsEntry.exe" = 1

CopyFiles = Files00


06-06-2007, 02:06 PM
Perhaps the specific error message would be helpful. However, I don't see that error, and I expect noone else is because all projects have spaces in the name by default. Everybody building cabs would be reporting this otherwise. Maybe it is something unique to that machine? Could you try with InstallShield 2008? You can use the eval for free. Sorry, it is very hard to help out since I can't reproduce.

06-06-2007, 02:18 PM
The fact that there is no error message is what makes this difficult. It very likely is something on this machine but I'm not sure what. I can call cabwiz.exe directly and it works fine so there must be something on my machine that screws up the way InstallShield calls CABWIZ. Not sure what that could be.

I would like to try this in 2008 - if it fixes the problem then I would upgrade. I downloaded the eval version of 2008 but I get an error 1935 when I try to install it. I have a call and an email into tech support to get help but no response yet.


06-06-2007, 02:33 PM
Would you mind giving me your support incident number for reference? We definitely want to get you up and running with 2008, at the very least for troubleshooting purposes here...

06-06-2007, 03:08 PM
Just talked to someone at tech support. They are going to send me an uncompressed version to try and also have me log the install. Incident number is 59925.


06-06-2007, 05:37 PM
Nice, tell them dave says hi. And please let me know what happens with this issue in 2008. Seems strange so I'd like to try helping you figure it out.

06-07-2007, 03:03 PM
Finally got the eval of 2008 to install (had to turn off Lavasoft Ad-watch) and my installer now generates the CAB correctly! Looks like it is time to upgrade.

One other problem I noticed is that the file associations that the wizard generates in the .inf file are not quite right. What I get in the InstallShield 2008 generated CAB is:

HKCR, "isce_pfffile\Shell\Open\Command", "", 0x00000002, """%InstallDir%\CapiESD.exe"" %%1"

But that generates the registry value:
"\Program Files\CSPro\CapiESD.exe" %1

when I really want is the registry value:
"\Program Files\CSPro\CapiESD.exe" "%1"

otherwise if the document file that I click on has a space in the name then my MFC app doesn't open the file correctly.

If I modify the .inf by hand and to make the registry line as follows then it works fine:
HKCR, "isce_pfffile\Shell\Open\Command", "", 0x00000002, """%CE1%\CSPro\CapiESD.exe"" ""%%1"""

It would be nice if in a future version InstallShield would generate the .inf in that way.

Anyway, thank you Dave for your help.


06-08-2007, 01:26 PM
That's great news. I reported your other issue, IOC-000060982, to be resolved in a future version, thanks for reporting that.

06-08-2007, 05:37 PM
I'm working on a fix for this for a later version, but if you are not doing so already you might be able to workaround this by creating a registry key versus a file association.

06-12-2007, 02:00 PM
Creating the registry keys directly works just fine. I've got my installer working great now.



06-13-2007, 10:35 AM
That's good news. Future versions won't have that problem. If you have any other feedback regarding changes we could make to our mobile support, please let me know.

06-13-2007, 11:59 AM
Thanks David. Since you ask, there is one more question I have. Is there a way to get InstallShield to call the CabWizard with the /compress flag? In my case using /compress cuts the size of the setup.exe file (single executable release) in half. The CAB file itself is about a third of the size. In my less than scientific tests, installing the CAB onto the device seems quite a bit faster when the CAB is compressed as well. I'm using a USB connection to the device.

I really appreciate the amount attention you have given to get me up and running and taking my suggestions. You don't get this kind of support from most companies.


06-14-2007, 10:38 AM
The request to pass the compress option will also hopefully be in a future release. The issue number is IOC-000061179. Thanks again for the feedback!