I got it working. It seems that msiexec REQUIRES that the function being
called return an int. By changing my KioskKillerMain from returning
void to returning an int, and returning a 0, the problem vanishes.

This is something that should be documented in the WiX documentation,
and mentioned in the tutorial.

My code wasn't failing, but it wasn't returning ANYTHING to msiexec,
which tells me that something in msiexec doesn't get initialized
(since it is using garbage) until the call to the entry point of the
dll is called in the custom action. Since it didn't get initialized
prior to that point, and the function wasn't returning anything, it
just kept (and subsequently used) the garbage it had before the call.

Thank you.

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Wilson,
Phil
Sent: Thursday, November 16, 2006 5:10 PM
To: wix-users@lists.sourceforge.net
Subject: Re: [WiX-users] File in use

 >>>The file [2][3] is being held in use by the following process: Name:
[4], Id: [5], Window Title: '[6]'.

>>>>The first problem: what the HECK are 2, 3, 4, 5, and 6?

It's a template, actual values supplied at run time. 

That log seems to show that your KioskKillerMain call failed, an error
was returned (the 3) and that becomes ERROR_INSTALL_FAILURE.  It's not a
coincidence that it calls your code and then immediately gets an error,
dumps the property values and stops.  Do you actually return that 3? If
not, MSI is seeing your code fail and returning it for you. 

Phil Wilson 


-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Dane
Anderson
Sent: Thursday, November 16, 2006 4:40 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] File in use

I have an install package that I am working on. I created an application
to seek out and kill

any currently running instances of the application (or anything that
might be using it). That

application works perfectly. Unfortunately the install has to run
silently (no interface

what so ever beyond the default progress bar) because the customer is
using SMS to install

and popups and reboots cause SMS to think the install failed. Because it
has to run silently,

and MUST run before any files are copied to the target machine, I have
converted my little

killer app to a dll (to avoid having the cmd window popup). No problem
there. It properly

executes the dll at the proper time. Then I run into trouble. I seem to
be getting error code

1603 back (in the /l*v log file). The description of that error at:

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/set
up/windows_installer_error_messages.asp
<http://msdn.microsoft.com/library/default.asp?url=/library/en-us/msi/se
tup/windows_installer_error_messages.asp> 

is:

The file [2][3] is being held in use by the following process: Name:
[4], Id: [5], Window Title: '[6]'.

The first problem: what the HECK are 2, 3, 4, 5, and 6?

The Second problem: Why the heck is it talking about something being in
use?

The dll is being included via a binary element:

  <Binary Id="KioskKiller.dll"
SourceFile="C:\trials\KioskKiller\KioskKillerDll\Debug\KioskKillerDll.dl
l" />

The CustomAction element is:

  <CustomAction Id="InstKillKioskCmdLine" DllEntry="KioskKillerMain"
BinaryKey="KioskKiller.dll"

                           Execute="immediate" Return="check" />

The Custom element (in the InstallExecuteSequence) is:

  <Custom Action="InstKillKioskCmdLine" Before="LaunchConditions">NOT
Installed</Custom>

So, I'm missing something. I'm not trying to execute anything, that I am
aware of, that is already on

the machine (other than something INSIDE the msi file).


The log file at that point contains:

Action start 15:56:56: InstKillKioskCmdLine.

MSI (s) (44:9C) [15:56:56:843]: Invoking remote custom action. DLL:
C:\WINDOWS\Installer\MSI24.tmp, Entrypoint: KioskKillerMain

MSI (s) (44:20) [15:56:56:843]: Generating random cookie.

MSI (s) (44:20) [15:56:56:858]: Created Custom Action Server with PID
1576 (0x628).

MSI (s) (44:18) [15:56:56:937]: Running as a service.

MSI (s) (44:18) [15:56:56:937]: Hello, I'm your 32bit Impersonated
custom action server.

Action ended 15:56:57: InstKillKioskCmdLine. Return value 3.

Action ended 15:56:57: INSTALL. Return value 3.

Property(S): REGEDIT = Regedit.exe

Property(S): INTAVA = C:\Program Files\Intava\

Property(S): INSTALDIR = C:\Program Files\Intava\Kiosk\

Property(S): MAPS = C:\Program Files\Intava\Kiosk\Maps\

Property(S): SPRINT = C:\Program Files\Intava\Sprint\

Property(S): CONTENT = C:\Program Files\Intava\Sprint\Content\

Property(S): TempFolder = C:\DOCUME~1\danea\LOCALS~1\Temp\

Property(S): TARGETDIR = C:\

Property(S): ProgramFilesFolder = C:\Program Files\

Property(S): Manufacturer = Intava

Property(S): ProductCode = {85E95DC3-B2E9-4FB5-B634-DE0DDE236339}

Property(S): ProductLanguage = 1033

Property(S): ProductName = Intava Kiosk Setup for Sprint 2.0.0.2168

Property(S): ProductVersion = 2.0.0.2168

Property(S): UpgradeCode = {3164AE7B-15FE-474D-B0CB-7C599802CD52}

Property(S): ALLUSERS = 1

Property(S): REBOOT = ReallySuppress

Property(S): CMD = cmd.exe

Property(S): WINDOWSFOLDER = [WindowsFolder]

Property(S): AdminProperties = ALLUSERS;REBOOT

Property(S): SecureCustomProperties = ALLUSERS;REBOOT

Property(S): PackageCode = {1EC61969-2ABA-4444-B7AA-15DC249D824E}

Property(S): ProductState = -1

Property(S): PackagecodeChanging = 1

Property(S): CURRENTDIRECTORY = C:\Sharing

Property(S): CLIENTUILEVEL = 0

Property(S): CLIENTPROCESSID = 1688

Property(S): USERNAME = Dane Anderson

Property(S): COMPANYNAME = Intava Corporation

Property(S): VersionDatabase = 100

Property(S): ROOTDRIVE = C:\

Property(S): EXECUTEACTION = INSTALL

Property(S): ACTION = INSTALL

Property(S): INSTALLLEVEL = 1

Property(S): SECONDSEQUENCE = 1

Property(S): ADDLOCAL = Complete

Property(S): VersionMsi = 3.01

Property(S): VersionNT = 501

Property(S): WindowsBuild = 2600

Property(S): ServicePackLevel = 2

Property(S): ServicePackLevelMinor = 0

Property(S): MsiNTProductType = 1

Property(S): WindowsFolder = C:\WINDOWS\

Property(S): WindowsVolume = C:\

Property(S): SystemFolder = C:\WINDOWS\system32\

Property(S): System16Folder = C:\WINDOWS\system\

Property(S): RemoteAdminTS = 1

Property(S): CommonFilesFolder = C:\Program Files\Common Files\

Property(S): AppDataFolder = C:\Documents and Settings\danea\Application
Data\

Property(S): FavoritesFolder = C:\Documents and
Settings\danea\Favorites\

Property(S): NetHoodFolder = C:\Documents and Settings\danea\NetHood\

Property(S): PersonalFolder = C:\Documents and Settings\danea\My
Documents\

Property(S): PrintHoodFolder = C:\Documents and
Settings\danea\PrintHood\

Property(S): RecentFolder = C:\Documents and Settings\danea\Recent\

Property(S): SendToFolder = C:\Documents and Settings\danea\SendTo\

Property(S): TemplateFolder = C:\Documents and Settings\All
Users\Templates\

Property(S): CommonAppDataFolder = C:\Documents and Settings\All
Users\Application Data\

Property(S): LocalAppDataFolder = C:\Documents and Settings\danea\Local
Settings\Application Data\

Property(S): MyPicturesFolder = C:\Documents and Settings\danea\My
Documents\My Pictures\

Property(S): AdminToolsFolder = C:\Documents and Settings\All
Users\Start Menu\Programs\Administrative Tools\

Property(S): StartupFolder = C:\Documents and Settings\All Users\Start
Menu\Programs\Startup\

Property(S): ProgramMenuFolder = C:\Documents and Settings\All
Users\Start Menu\Programs\

Property(S): StartMenuFolder = C:\Documents and Settings\All Users\Start
Menu\

Property(S): DesktopFolder = C:\Documents and Settings\All
Users\Desktop\

Property(S): FontsFolder = C:\WINDOWS\Fonts\

Property(S): GPTSupport = 1

Property(S): OLEAdvtSupport = 1

Property(S): ShellAdvtSupport = 1

Property(S): Intel = 15

Property(S): PhysicalMemory = 256

Property(S): VirtualMemory = 521

Property(S): AdminUser = 1

Property(S): LogonUser = DaneA

Property(S): UserSID = S-1-5-21-682003330-1563985344-1060284298-3279

Property(S): UserLanguageID = 1033

Property(S): ComputerName = DANE-VIRTUAL

Property(S): SystemLanguageID = 1033

Property(S): ScreenX = 1024

Property(S): ScreenY = 768

Property(S): CaptionHeight = 26

Property(S): BorderTop = 1

Property(S): BorderSide = 1

Property(S): TextHeight = 16

Property(S): ColorBits = 32

Property(S): TTCSupport = 1

Property(S): Time = 15:56:57

Property(S): Date = 11/16/2006

Property(S): MsiWin32AssemblySupport = 5.1.2600.2180

Property(S): RedirectedDllSupport = 2

Property(S): Privileged = 1

Property(S): DATABASE = C:\WINDOWS\Installer\d06df3.msi

Property(S): OriginalDatabase = C:\Sharing\SprintKioskSetup.msi

Property(S): UILevel = 5

Property(S): Preselected = 1

MSI (s) (44:F8) [15:56:57:796]: MainEngineThread is returning 1603

MSI (s) (44:08) [15:56:57:796]: Destroying RemoteAPI object.

MSI (s) (44:20) [15:56:57:811]: Custom Action Manager thread ending.

MSI (c) (98:B4) [15:56:57:811]: Back from server. Return value: 1603

MSI (c) (98:B4) [15:56:57:811]: Decrementing counter to disable
shutdown. If counter >= 0, shutdown will be denied.  Counter after
decrement: -1

MSI (c) (98:B4) [15:56:57:811]: PROPERTY CHANGE: Deleting SECONDSEQUENCE
property. Its current value is '1'.

Action ended 15:56:57: ExecuteAction. Return value 3.



------------------------------------------------------------------------
-
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share
your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDE
V
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys - and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to