yet another invalid setup .ini file - please help

A

anon

I'm trying to create a .MSI file for the first time. I'm using VS.NET
2003. I've gone through the great article at

http://www.codeproject.com/netcf/PackagingAndDeployingPPC.asp

and another one at codeproject related to adding SqlCE to your project,
since I needed to do that. I've read through several threads in the
discussions related to both of these articles about .ini files, and I'm
still getting the "invalid setup file" message from CeAppMgr. I'm
running CeAppMgr from the command line, from the directory where the
cab files are.

Here's my .ini file :

[CEAppManager]
Version = 1.0
Component = MyProject

[MyProject]
Description = A Test Project.
CabFiles =
WDI_PPC.ARM.CAB,WDI_PPC.ARMV4.CAB,WDI_PPC.MIPS.CAB,WDI_PPC.SH3.CAB,WDI_PPC.WCE420X86.CAB,WDI_PPC.X86.CAB

I've tried all kinds of things; I tried cutting out all the cab files
except the first one, because one post said that the ARM cab will cover
95% of the devices, and because sometimes there is an issue with the
line length. I changed the name of my cab files, because one thread
said that the 'Foo' part of the cab names 'Foo.ARM.CAB' has to be < 8
chars. The original article said there can't be any new lines between
the [MyProject] section definition and the Description = key line,
although this is confusing because all the samples I've seen look like
there is a new line there. I tried it w/out it anyway and that didn't
work either.

Please help. I've been working on this for hours and am going nuts
 
C

chris-s

On the face of it, it looks like there is quite a bit missing from your
setup file. One approach may be to use the cab build wizard in VS to
generate an MSI file and then tweak it if required.

Here is an edited one from one of my projects, it may give you some
ideas on what sections are required...


[Version]
Signature="$Windows NT$"
Provider="MyCompanyName"
CESignature="$Windows CE$"

[CEStrings]
AppName="MyApplicationName"
InstallDir=%CE1%\%AppName%

[CEDevice]
VersionMin=3.00
VersionMax=4.99

[DefaultInstall]
CEShortcuts=Shortcuts
CopyFiles=Files.Common,Files.Windows

[DefaultInstall.ARM]
CopyFiles=Files.ARM
AddReg=RegSettings
CESetupDLL=vsd_setup.dll

[DefaultInstall.ARMV4]
CopyFiles=Files.ARMV4
AddReg=RegSettings
CESetupDLL=vsd_setup.dll

[SourceDisksNames]
1=,"Common1",,"D:\Source\VS.NET2003\MyAppSourceFolder\obj\Debug\"
2=,"Common2",,"D:\Source\VS.NET2003\MyAppSourceFolder\EmbeddedResources\"
9=,"Common9",,"D:\Source\VS.NET2003\MyAppSourceFolder\ThirdPartyControls\"
3=,"Common3",,"C:\Program Files\Microsoft Visual Studio .NET
2003\CompactFrameworkSDK\v1.0.5000\Windows CE\"


[SourceDisksNames.ARM]
4=,"ARM11",,"D:\Source\VS.NET2003\MyAppSourceFolder\obj\Debug\"
5=,"ARM_Setup",,"C:\Program Files\Microsoft Visual Studio .NET
2003\CompactFrameworkSDK\v1.0.5000\Windows CE\wce300\ARM\"

[SourceDisksNames.ARMV4]
7=,"ARMV412",,"D:\Source\VS.NET2003\MyAppSourceFolder\obj\Debug\"
8=,"ARMV4_Setup",,"C:\Program Files\Microsoft Visual Studio .NET
2003\CompactFrameworkSDK\v1.0.5000\Windows CE\wce300\ARMV4\"


[SourceDisksFiles]
MyApplication.exe=1

DefaultSettings.xml=2
MyApplication.exe.config=2
AnImage.gif=2
AnotherImage.gif=2
OpenNETCF.Controls.BatteryLife.dll=9
SomeOtherCFPackage.dll=3
MProRasConnect.dll=2
MyAppTodayPlugIn.dll=2


[SourceDisksFiles.ARM]
vsd_config.txt.ARM=4
vsd_setup.dll=5

[SourceDisksFiles.ARMV4]
vsd_config.txt.ARMV4=7
vsd_setup.dll=8


[DestinationDirs]
Files.Common=0,%InstallDir%

Shortcuts=0,%CE2%\Start Menu
Files.ARM=0,%InstallDir%
Files.ARMV4=0,%InstallDir%
Files.Windows=0,%CE2%

[Files.Windows]
MyAppTodayPlugIn.dll,,,0x00000010

[Files.Common]
MyApplications.exe,,,0
DefaultSettings.xml,,,0
MyApplication.exe.config,,,0
OpenNETCF.Controls.BatteryLife.dll,,,0
AnImage.gif,,,0
AnotherImage.gif,,,0
SomeOtherCFPackage.dll,,,0
MProRasConnect.dll,,,0

[Files.ARM]
vsd_config.txt,vsd_config.txt.ARM,,0
vsd_setup.dll,,,0

[Files.ARMV4]
vsd_config.txt,vsd_config.txt.ARMV4,,0
vsd_setup.dll,,,0

[Shortcuts]
MyApplication,0,MyApplication.exe,%CE11%

[RegSettings]
HKLM,\Software\Microsoft\Today\Items\MyApp,DLL,0x00000000,\windows\MyAppTodayPlugIn.dll



Regards

Chris



I'm trying to create a .MSI file for the first time. I'm using VS.NET
2003. I've gone through the great article at

http://www.codeproject.com/netcf/PackagingAndDeployingPPC.asp

and another one at codeproject related to adding SqlCE to your project,
since I needed to do that. I've read through several threads in the
discussions related to both of these articles about .ini files, and I'm
still getting the "invalid setup file" message from CeAppMgr. I'm
running CeAppMgr from the command line, from the directory where the
cab files are.

Here's my .ini file :

[CEAppManager]
Version = 1.0
Component = MyProject

[MyProject]
Description = A Test Project.
CabFiles =
WDI_PPC.ARM.CAB,WDI_PPC.ARMV4.CAB,WDI_PPC.MIPS.CAB,WDI_PPC.SH3.CAB,WDI_PPC.WCE420X86.CAB,WDI_PPC.X86.CAB

I've tried all kinds of things; I tried cutting out all the cab files
except the first one, because one post said that the ARM cab will cover
95% of the devices, and because sometimes there is an issue with the
line length. I changed the name of my cab files, because one thread
said that the 'Foo' part of the cab names 'Foo.ARM.CAB' has to be < 8
chars. The original article said there can't be any new lines between
the [MyProject] section definition and the Description = key line,
although this is confusing because all the samples I've seen look like
there is a new line there. I tried it w/out it anyway and that didn't
work either.

Please help. I've been working on this for hours and am going nuts
 
A

anon

Thanks for your reply, but isn't that the .INF file?

I found the tip to use the /report parameter when running the CeAppMgr,
which got me a step farther. But I'm still stuck. It looks like it is
looking for the cab files in the wrong place. I ran the CeAppMgr from
the directory where the cab files were. Before I go farther, let me
show the relevant directory :

E:/PocketPC/MyProj/cab/release

This is where I ran CeAppMgr from, and where the cab files are. My
..ini file is in another directory, but I just used the entire path for
that parameter. So my command was

CeAppMgr /report E:/PocketPC/MyProj/MyProj.ini

(I had added CeAppMgr's directory to the system path prior to this) The
error displayed in the popup is :

Cannot open file "E:\POCKETPC\MYPROJ\WDI_PPC.ARM.CAB

This cab file is the first one listed in my .ini file. So it just
looks like a path issue. But how do I fix it? In my setup project, all
the cab files and the .ini file are targetted to go in the application
folder on the target machine.
 
G

Guest

The alternative... give up with .msi files together.

Using the PocketPC Installer (downloadable from the following link),
you can just drag'n'drop your .cab files and data files into our program,
and it'll compress them all up into one, single, self-executing PocketPC
installer .exe file.
You could put this .exe file into a 2577 directory on a memory-card, and
when a user inserts the memory card into their device, it'd start installing
your libraries and data files onto the device.
Installer programs don't get much more foolproof than that !!


The PocketPC Installer *also* compresses your files into one,
single self-executing Desktop installer .exe file.
When this is run, it'll hunt out any devices connected via
ActiveSync, copy it's data onto the device, then intelligently install
your files & libraries onto it.


Two different ways of distributing your PocketPC programs, including
all of their library files, database files, compressed into one file...
you just have to decide which of the two installer .exe files is more useful
to you, and ignore the other.

http://www.pocketpcinstaller.com

Hope this helps.


James
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top