Installation package could not be opened; verify if this is a valid package

When you try to install a program by running the .msi package, the following error may occur:

This installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package.

error windows installer package invalid

Cause

This issue is seen when the installer package has been corrupted, typically during the download process. Another possibility is that the folder path contains an invalid character.

Resolution

To fix the “This installation package could not be opened” error, do the following:

1) Redownload the package

Redownload the package to see if that fixes the issue. Also, test with different .msi files.

If the same error occurs for all the .msi packages you install, proceed to the next step.

2) Disable the “Win31FileSystem” registry value

It’s possible that the “Win31FileSystem” registry value has been somehow enabled on your computer.

  1. Start the Registry Editor by running c:\windows\regedit.exe.
  2. Go to the following location:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem
  3. Double-click “Win31FileSystem” and set its data to 0
    Value Meaning
    0 Long file names and extended timestamps are used. Windows 3.1 and MS-DOS systems will be able to read the files, but will not be able to update the timestamp information or use the long file names (file names would be truncated to filena~1).
    1 Long file names and extended timestamps are not used. Only those features of the FAT file system which were available to Windows 3.1 and earlier will be used.
  4. Exit the Registry Editor.
  5. Restart Windows.

3) Move the .msi file to the drive’s root

If the folder path contains an invalid character (such as the inverted comma `), running the .msi package will cause the above error.

In the following example, the folder contained an inverted comma character which caused the .msi package to fail.

error windows installer package invalid - folder invalid character



More Information

When you run the setup with verbose logging using the following command-line, the error -2147287037 is recorded in the log.

msiexec /i "D:\Users\Ramesh\Desktop\`Installers\VB60SP6-KB3096896-x86-ENU.msi" /L*V "C:\vb6redist.log"

The error code -2147287037 in hexadecimal is 0x80030003, which is STG_E_PATHNOTFOUND
(Source: COM Error Codes (STG, RPC) (Winerror.h) – Win32 apps)

=== Verbose logging started: 6/4/2023  14:26:09  Build type: SHIP UNICODE 5.00.10011.00  Calling process: C:\windows\system32\msiexec.exe ===
MSI (c) (28:90) [14:26:09:577]: Font created.  Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg

MSI (c) (28:90) [14:26:09:577]: Font created.  Charset: Req=0, Ret=0, Font: Req=MS Shell Dlg, Ret=MS Shell Dlg

MSI (c) (28:9C) [14:26:09:609]: Resetting cached policy values
MSI (c) (28:9C) [14:26:09:609]: Machine policy value 'Debug' is 0
MSI (c) (28:9C) [14:26:09:609]: ******* RunEngine:
           ******* Product: D:\Users\Ramesh\Desktop`Installers\VB60SP6-KB3096896-x86-ENU.msi
           ******* Action: 
           ******* CommandLine: **********
MSI (c) (28:9C) [14:26:09:673]: Note: 1: 2203 2: D:\Users\Ramesh\Desktop`Installers\VB60SP6-KB3096896-x86-ENU.msi 3: -2147287037 MSI (c) (28:9C) [14:26:09:674]: MainEngineThread is returning 3 === Verbose logging stopped: 6/4/2023 14:26:09 ===

Error 3 is “ERROR_PATH_NOT_FOUND”. Due to the inverted comma, the msiexec.exe process removes the preceding character (i.e., the backslash \), and that makes the path invalid. This could be a bug in msiexec.exe.

In some cases, it may return the error -2147286788 (Hex: 0x800300FC) which translates to STG_E_INVALIDNAME.

So, remove the inverted comma or any other special character from the folder path (or file name).

In some cases, the profile folder may have an invalid character; if that’s the case, move the .msi package outside your profile folder and run it.


One small request: If you liked this post, please share this?

One "tiny" share from you would seriously help a lot with the growth of this blog. Some great suggestions:
  • Pin it!
  • Share it to your favorite blog + Facebook, Reddit
  • Tweet it!
So thank you so much for your support. It won't take more than 10 seconds of your time. The share buttons are right below. :)

Ramesh Srinivasan is passionate about Microsoft technologies and he has been a consecutive ten-time recipient of the Microsoft Most Valuable Professional award in the Windows Shell/Desktop Experience category, from 2003 to 2012. He loves to troubleshoot and write about Windows. Ramesh founded Winhelponline.com in 2005.

Leave a Comment