cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
knoepdan
Level 6

Installation fails on some machine with message "Could not load file or ***. Kingdom"

Hi

We have a Basic MSI project that build ok and normally does not pose any problems during installation. However, during testing, we have found the following, strange occurence.

After having double clicked on Setup.exe, the installation seems to run normal (prerequisites, gui setup dialog, progress bar) but shortly before finishing, the following error message appears in a message box:

Error 1001: Exception occured while initializing the installation:
System.IO.FileNotFoundException: Could not load file or assembly ...\Kingdom¨or one of its dependencies. The system cannot find the file specified..


After clicking ok, another Messagebox appears: "Error 1001. Could not find file 'C:\Program Files\CompanyName\AppName\NetInstallerClassActions.InstallState'.
These actions seem to derive from the .NET installer classe we use. This error is probably just a follow up and i would not heed it for now.

Afterwards, I tried to to run the installer to create logfiles that help us:
setup.exe /debuglog"C:\PathToLog\setupexelog.log" /v"/L* \"C:\PathToLog\msilog.txt\" "

However, the installer now ran through and the application got installed successfully. I do not understand this!! What is different now except that logfiles should be written?

Here some more information about the installation:
- The installation uses a .net installer class. The Install event of this class is not executed when the installation fails, so the error occurs either prior to executing this class or when trying to executing this event.
- There is no folder or file named Kingdom
- The operating system where the problem occured was XP SP2
- On other XP SP2 machines the problem did not occur


Basically these leads me to the following questions:

- Does anybody know the problem?
- Does anybody have an idea how i could fix this.
- what is different when trigger the installation using the command line to log files and when I only a double click on the setup.exe is performed?
- Does anybody know what i could do to get more information?
- how can i modify the Setup.ini file that logfiles (for msi and setup.exe) are written. Is this possible?

Thanks for your help in advance
Labels (1)
0 Kudos
(4) Replies
knoepdan
Level 6

Hi

Here is the content that of the setup.ini file that will is applied when setup.exe is double clicked. I belive that settings in the seup.ini file are also applied if one when one passes the logging parameter to the command line (see post above).

Setup.ini:


[Info]
Name=INTL
Version=1.00.000
DiskSpace=8000 ;DiskSpace requirement in KB

[Startup]
CmdLine=
SuppressWrongOS=Y
ScriptDriven=2
ScriptVer=16.0.0.328
DotNetOptionalInstallIfSilent=N
OnUpgrade=1
Product=iPFG 2.5
PackageName=iPFG 2.5 .msi
EnableLangDlg=N
LogResults=N
DoMaintenance=N
ProductCode={9B2D5112-6DEF-4717-BC47-39D38E983234}
ProductVersion=1.00.0003
LauncherName=setup.exe
PackageCode={4946BA3E-7A15-4A89-8929-A3E84F7D7772}

[Languages]
RequireExactLangMatch=0x0404,0x0804
RTLLangs=0x0401,0x040d
Default=0x0409
Supported=0x0409

[MsiVersion]

[SupportOSMsi11] ;Supported platforms for MSI 1.1
Win95=1
Win98=1
WinNT4SP3=1

[SupportOSMsi12] ;Supported platforms for MSI 1.2
Win95=1
Win98=1
WinME=1
WinNT4SP3=1

[SupportOS] ;Supported platforms for MSI 2.0
Win95=1
Win98=1
WinME=1
WinNT4SP6=1
Win2K=1

[SupportOSMsi30] ;Supported platforms for MSI 3.0
Win2KSP3=1
WinXP=1
Win2003Server=1

[Win95]
MajorVer=4
MinorVer=0
MinorVerMax=1
BuildNo=950
PlatformId=1

[Win98]
MajorVer=4
MinorVer=10
MinorVerMax=11
BuildNo=1998
PlatformId=1

[WinME]
MajorVer=4
MinorVer=90
MinorVerMax=91
BuildNo=3000
PlatformId=1

[WinNT4SP3]
MajorVer=4
MinorVer=0
MinorVerMax=1
BuildNo=1381
PlatformId=2
ServicePack=768

[WinNT4SP6]
MajorVer=4
MinorVer=0
MinorVerMax=1
BuildNo=1381
PlatformId=2
ServicePack=1536

[Win2K]
MajorVer=5
MinorVer=0
MinorVerMax=1
BuildNo=2195
PlatformId=2

[Win2KSP3]
MajorVer=5
MinorVer=0
MinorVerMax=1
BuildNo=2195
PlatformId=2
ServicePack=768

[WinXP]
MajorVer=5
MinorVer=1
MinorVerMax=2
BuildNo=2600
PlatformId=2

[Win2003Server]
MajorVer=5
MinorVer=2
MinorVerMax=3
BuildNo=2600
PlatformId=2

[0x0409]
0x0409=English (United States)
0x0411=Japanese
0x0401=Arabic (Saudi Arabia)
0x042d=Basque
0x0402=Bulgarian
0x0403=Catalan
0x0804=Chinese (PRC)
0x0404=Chinese (Taiwan)
0x041a=Croatian
0x0405=Czech
0x0406=Danish
0x0413=Dutch (Netherlands)
0x040b=Finnish
0x0c0c=French (Canada)
0x040c=French (France)
0x0407=German (Germany)
0x0408=Greek
0x040d=Hebrew
0x040e=Hungarian
0x0421=Indonesian
0x0410=Italian (Italy)
0x0412=Korean
0x0414=Norwegian (Bokmal)
0x0415=Polish
0x0416=Portuguese (Brazil)
0x0816=Portuguese (Portugal)
0x0418=Romanian
0x0419=Russian
0x0c1a=Serbian (Cyrillic)
0x041b=Slovak
0x0424=Slovenian
0x040a=Spanish (Traditional Sort)
0x041d=Swedish
0x041e=Thai
0x041f=Turkish
[iPFG 2.5 .msi]
Type=0
Location=iPFG 2.5 .msi
[Setup.bmp]
Type=0
[ISSetupPrerequisites]
PreReq0=Windows Installer 3.1 (x86).prq
PreReq1=Microsoft.NET 2.0 SP2 Chinnok.prq
PreReq2=C++RedistPack.prq
0 Kudos
joshstechnij
Level 10 Flexeran
Level 10 Flexeran

The error seems to indicate that InstallUtilLib.dll attempted to load a file that didn't exist. A log file would be needed to determine why the file wasn't installed (assuming it is included as part of the installation).

Note that it is possible to specify logging parameters in the MSI Command Line Arguments field of the release you are building. For example, to always log the installation to a log file in the temp folder, enter the following in the MSI Command Line Arguments field for the release you are building in the Releases view:
/l*v %temp%\MyInstallLog.log
0 Kudos
knoepdan
Level 6

hi

thanks for your answer. As i stated in my first post, as soon as i specify a logfile, the error does no longer occur (see the command line string). Thats why i am a bit at loss. However, i am going to try a bit with the command line string. Hopefully, (although i doubt it) i may be able to reproduce the error while logging is on.

Greetings
0 Kudos
knoepdan
Level 6

Hi

I managed to reproduce the error while having logging on. (Basically specifying the msi parameter in InstallShield and not in the command line setup was enough). So this is was the log says:

MSI (s) (78:C0) [02:43:54:410]: Executing op: CustomActionSchedule(Action=_867630BEC9555EDBFA1A62B13FA0102F.rollback,ActionType=3329,Source=BinaryData,Target=ManagedInstall,CustomActionData=/installtype=notransaction /action=rollback /LogFile= "C:\Program Files\Phonak Group\iPFG\iIPGCustomActions.dll" "C:\Users\11gadmin\AppData\Local\Temp\{9B2D5112-6DEF-4717-BC47-39D38E983234}\_isconfig.xml")
MSI (s) (78:C0) [02:43:54:410]: Executing op: ActionStart(Name=_867630BEC9555EDBFA1A62B13FA0102F.install,,)
Action 02:43:54: _867630BEC9555EDBFA1A62B13FA0102F.install.
MSI (s) (78:C0) [02:43:54:410]: Executing op: CustomActionSchedule(Action=_867630BEC9555EDBFA1A62B13FA0102F.install,ActionType=3073,Source=BinaryData,Target=ManagedInstall,CustomActionData=/installtype=notransaction /action=install /LogFile= /INSTALLDIR="C:\Program Files\Phonak Group\iPFG\\" /CommonAppDataFolder="C:\ProgramData\\" /C_NOAHINSTALLATION=2 /SUPPORTDIR=C:\Users\11gadmin\AppData\Local\Temp\{9B2D5112-6DEF-4717-BC47-39D38E983234} /C_LANGUAGE=en /C_COUNTRY=United Kingdom /ProgramMenuFolder="C:\ProgramData\Microsoft\Windows\Start Menu\Programs\\" /DesktopFolder="C:\Users\Public\Desktop\\" /MsiLogFileLocation="C:\Users\11gadmin\AppData\Local\Temp\MyInstallLog.log" /ProductCode="{9B2D5112-6DEF-4717-BC47-39D38E983234}" "C:\Program Files\Phonak Group\iPFG\iIPGCustomActions.dll" "C:\Users\11gadmin\AppData\Local\Temp\{9B2D5112-6DEF-4717-BC47-39D38E983234}\_isconfig.xml")
MSI (s) (78:40) [02:43:54:441]: Invoking remote custom action. DLL: C:\Windows\Installer\MSIB20.tmp, Entrypoint: ManagedInstall
Error 1001.
MSI (s) (78!58) [02:48:00:697]:
MSI (s) (78:40) [02:48:00:697]: Leaked MSIHANDLE (45) of type 790531 for thread 2904
MSI (s) (78:40) [02:48:00:697]: Note: 1: 2769 2: _867630BEC9555EDBFA1A62B13FA0102F.install 3: 1
Info 2769.Custom Action _867630BEC9555EDBFA1A62B13FA0102F.install did not close 1 MSIHANDLEs.
Action ended 02:48:00: InstallFinalize. Return value 3.



To me it seems, that somehow the problem is related to the parameters i pass to a .NET installer class. I have not figured out what the differences in a silent installation ond a normal installation are, but it actually no longer poses a problem.

Having changed the installer at various places (none of them should have an effect on this), the error has disappeared. Hopefully for ever. So right now, the problem is considered as solved (of course it would be nice to understand the error)
Anyway thanks for your help.

Greetings.
0 Kudos