Hello Rong-Chun:
The scenario is the msi file is downloaded and installs the application successfully regardless of whether the msi is 'Run' or Saved to the desktop and executed from there. In our testing, if we delete the msi file prior to running the application for the first time, there is no error.
During this first run, the program is downloading other required applications and dll files and initializes user data. It may also overwrite some of the existing setup files in this process.
The next time we run the program, if the msi file had been deleted, the application will not start because of the 'the feature they are trying to use is on a network resource that is unavailable' error message. It doesn't matter whether the msi had been installed in the temp folder or the desktop, if it is deleted,this message is thrown. If the msi file is not deleted, the program runs perfectly.
I re-installed from the desktop msi, then renamed the msi which caused the program to generate the error. I then had 'depends' profile the program.exe. Here are the results... The warnings seem to be areference to a windows dll dwmapi.dll.
There was an error on:DWMAPI.DLL Error opening file. The system cannot find the file specified.
However, this is not my dll but a windows library reference.
Any suggestions on how to block the msi from stopping my application from running?
As a second issue, when uninstalling the application, it removes the files originally included in the msi, but does not remove the program folder or any of the other files. How can I force it to remove the entire folder?
Thanks,
Rick
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
--------------------------------------------------------------------------------
Starting profile on 8/20/2009 at 9:30:08 PM
Operating System: Microsoft Windows XP Professional (32-bit), version 5.01.2600 Service Pack 3
Program Executable: c:\program files\company name\program name\myprogram.EXE
Program Arguments:
Starting Directory: C:\Program Files\Company Name\Program Name\
Search Path: C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\Program Files\Wave Systems Corp\Dell Preboot Manager\Access Client\v5\;C:\Program Files\ATI Technologies\ATI.ACE\;C:\WINDOWS\system32\WindowsPowerShell\v1.0;c:\Program Files\Microsoft SQL Server\90\Tools\binn\;C:\Program Files\Common Files\HP\Digital Imaging\bin;C:\Program Files\HP\Digital Imaging\bin\;C:\Program Files\HP\Digital Imaging\bin\Qt\Qt 4.3.3;
Options Selected:
Simulate ShellExecute by inserting any App Paths directories into the PATH environment variable.
Log DllMain calls for process attach and process detach messages.
Hook the process to gather more detailed dependency information.
Log LoadLibrary function calls.
Log GetProcAddress function calls.
Log debug output messages.
Automatically open and profile child processes.
--------------------------------------------------------------------------------
Started "MYPROGRAM.EXE" (process 0x1370) at address 0x00400000. Successfully hooked module.
Loaded "NTDLL.DLL" at address 0x7C900000. Successfully hooked module.
Loaded "MSCOREE.DLL" at address 0x79000000. Successfully hooked module.
Loaded "KERNEL32.DLL" at address 0x7C800000. Successfully hooked module.
DllMain(0x7C900000, DLL_PROCESS_ATTACH, 0x00000000) in "NTDLL.DLL" called.
DllMain(0x7C900000, DLL_PROCESS_ATTACH, 0x00000000) in "NTDLL.DLL" returned 1 (0x1).
DllMain(0x7C800000, DLL_PROCESS_ATTACH, 0x00000000) in "KERNEL32.DLL" called.
DllMain(0x7C800000, DLL_PROCESS_ATTACH, 0x00000000) in "KERNEL32.DLL" returned 1 (0x1).
Injected "DEPENDS.DLL" at address 0x08370000.
DllMain(0x79000000, DLL_PROCESS_ATTACH, 0x00000000) in "MSCOREE.DLL" called.
DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "DEPENDS.DLL" called.
DllMain(0x08370000, DLL_PROCESS_ATTACH, 0x00000000) in "DEPENDS.DLL" returned 1 (0x1).
GetProcAddress(0x7C800000 [KERNEL32.DLL], "FlsAlloc") called from "MSCOREE.DLL" at address 0x79006079 and returned 0xFFBADD11.
Exited "MYPROGRAM.EXE" (process 0x1370) with code -1073740791 (0xC0000409).