无法在Windows XP中运行由VS2013创建的安装文件

时间:2015-02-12 15:39:52

标签: c# windows visual-studio-2013 windows-xp setup-deployment

在VS-2013,Dotnet4框架和32位架构中创建了以c#开发的安装文件。它已安装在Windows 7和Windows 8中,但在Windows XP(SP3)中没有安装管理员previllege。 错误:“在安装应用程序之前安装程序已中断。您需要重新启动安装程序才能再次尝试。”在这方面需要帮助。

Output of msiexec /i Setup.msi /l*v MyLogFile.txt

=== Verbose logging started: 2/12/2015  20:19:11  Build type: SHIP UNICODE 3.01.4001.5512  Calling process: C:\WINDOWS\system32\msiexec.exe ===
MSI (c) (D4:B4) [20:19:11:125]: Resetting cached policy values
MSI (c) (D4:B4) [20:19:11:125]: Machine policy value 'Debug' is 0
MSI (c) (D4:B4) [20:19:11:125]: ******* RunEngine:
           ******* Product: Setup.msi
           ******* Action: 
           ******* CommandLine: **********
MSI (c) (D4:B4) [20:19:11:125]: Machine policy value 'DisableUserInstalls' is 0
MSI (c) (D4:B4) [20:19:11:234]: SOFTWARE RESTRICTION POLICY: Verifying package --> 'D:\Setup.msi' against software restriction policy
MSI (c) (D4:B4) [20:19:11:234]: Note: 1: 2262 2: DigitalSignature 3: -2147287038 
MSI (c) (D4:B4) [20:19:11:234]: SOFTWARE RESTRICTION POLICY: D:\Setup.msi is not digitally signed
MSI (c) (D4:B4) [20:19:11:234]: SOFTWARE RESTRICTION POLICY: D:\Setup.msi is permitted to run at the 'unrestricted' authorization level.
MSI (c) (D4:B4) [20:19:11:562]: Cloaking enabled.
MSI (c) (D4:B4) [20:19:11:562]: Attempting to enable all disabled priveleges before calling Install on Server
MSI (c) (D4:B4) [20:19:11:593]: End dialog not enabled
MSI (c) (D4:B4) [20:19:11:593]: Original package ==> D:\Setup.msi
MSI (c) (D4:B4) [20:19:11:593]: Package we're running from ==> C:\DOCUME~1\admin\LOCALS~1\Temp\486c8b74.msi
MSI (c) (D4:B4) [20:19:11:593]: APPCOMPAT: looking for appcompat database entry with ProductCode '{DC3A4FA7-B437-455E-ABE4-13FA61195AF2}'.
MSI (c) (D4:B4) [20:19:11:593]: APPCOMPAT: no matching ProductCode found in database.
MSI (c) (D4:B4) [20:19:11:609]: MSCOREE not loaded loading copy from system32
MSI (c) (D4:B4) [20:19:11:640]: Machine policy value 'TransformsSecure' is 0
MSI (c) (D4:B4) [20:19:11:640]: User policy value 'TransformsAtSource' is 0
MSI (c) (D4:B4) [20:19:11:640]: Note: 1: 2262 2: MsiFileHash 3: -2147287038 
MSI (c) (D4:B4) [20:19:11:640]: Machine policy value 'DisablePatch' is 0
MSI (c) (D4:B4) [20:19:11:640]: Machine policy value 'AllowLockdownPatch' is 0
MSI (c) (D4:B4) [20:19:11:640]: Machine policy value 'DisableLUAPatching' is 0
MSI (c) (D4:B4) [20:19:11:640]: Machine policy value 'DisableFlyWeightPatching' is 0
MSI (c) (D4:B4) [20:19:11:640]: APPCOMPAT: looking for appcompat database entry with ProductCode '{DC3A4FA7-B437-455E-ABE4-13FA61195AF2}'.
MSI (c) (D4:B4) [20:19:11:640]: APPCOMPAT: no matching ProductCode found in database.
MSI (c) (D4:B4) [20:19:11:640]: Transforms are not secure.
MSI (c) (D4:B4) [20:19:11:640]: Command Line: CURRENTDIRECTORY=D:\ CLIENTUILEVEL=0 CLIENTPROCESSID=3796 
MSI (c) (D4:B4) [20:19:11:640]: PROPERTY CHANGE: Adding PackageCode property. Its value is '{80AB49AE-1D7B-4E2B-83B4-ED5310D6B599}'.
MSI (c) (D4:B4) [20:19:11:640]: Product Code passed to Engine.Initialize:           ''
MSI (c) (D4:B4) [20:19:11:640]: Product Code from property table before transforms: '{DC3A4FA7-B437-455E-ABE4-13FA61195AF2}'
MSI (c) (D4:B4) [20:19:11:640]: Product Code from property table after transforms:  '{DC3A4FA7-B437-455E-ABE4-13FA61195AF2}'
MSI (c) (D4:B4) [20:19:11:640]: Product not registered: beginning first-time install
MSI (c) (D4:B4) [20:19:11:640]: PROPERTY CHANGE: Adding ProductState property. Its value is '-1'.
MSI (c) (D4:B4) [20:19:11:640]: Entering CMsiConfigurationManager::SetLastUsedSource.
MSI (c) (D4:B4) [20:19:11:640]: User policy value 'SearchOrder' is 'nmu'
MSI (c) (D4:B4) [20:19:11:640]: Adding new sources is allowed.
MSI (c) (D4:B4) [20:19:11:640]: PROPERTY CHANGE: Adding PackagecodeChanging property. Its value is '1'.
MSI (c) (D4:B4) [20:19:11:640]: Package name extracted from package path: 'Setup.msi'
MSI (c) (D4:B4) [20:19:11:640]: Package to be registered: 'Setup.msi'
MSI (c) (D4:B4) [20:19:11:640]: Note: 1: 2262 2: Error 3: -2147287038 
MSI (c) (D4:B4) [20:19:11:640]: Note: 1: 2729 
MSI (c) (D4:B4) [20:19:11:640]: Note: 1: 2729 
MSI (c) (D4:B4) [20:19:11:640]: Note: 1: 2729 
MSI (c) (D4:B4) [20:19:11:656]: Note: 1: 2729 
MSI (c) (D4:B4) [20:19:11:656]: Note: 1: 2729 
MSI (c) (D4:B4) [20:19:11:656]: Note: 1: 2729 
MSI (c) (D4:B4) [20:19:11:656]: Note: 1: 2729 
MSI (c) (D4:B4) [20:19:11:656]: Note: 1: 2729 
MSI (c) (D4:B4) [20:19:11:656]: Note: 1: 2729 
MSI (c) (D4:B4) [20:19:11:671]: Note: 1: 2729 
MSI (c) (D4:B4) [20:19:11:671]: Note: 1: 2729 
MSI (c) (D4:B4) [20:19:11:671]: Note: 1: 2729 
MSI (c) (D4:B4) [20:19:11:671]: Note: 1: 2729 
MSI (c) (D4:B4) [20:19:11:671]: Note: 1: 2729 
MSI (c) (D4:B4) [20:19:11:671]: Note: 1: 2729 
MSI (c) (D4:B4) [20:19:11:687]: Note: 1: 2729 
MSI (c) (D4:B4) [20:19:11:687]: Note: 1: 2262 2: AdminProperties 3: -2147287038 
MSI (c) (D4:B4) [20:19:11:687]: Machine policy value 'DisableMsi' is 0
MSI (c) (D4:B4) [20:19:11:687]: Machine policy value 'AlwaysInstallElevated' is 0
MSI (c) (D4:B4) [20:19:11:687]: User policy value 'AlwaysInstallElevated' is 0
MSI (c) (D4:B4) [20:19:11:687]: Running product '{DC3A4FA7-B437-455E-ABE4-13FA61195AF2}' with user privileges: It's not assigned.
MSI (c) (D4:B4) [20:19:11:687]: PROPERTY CHANGE: Adding CURRENTDIRECTORY property. Its value is 'D:\'.
MSI (c) (D4:B4) [20:19:11:687]: PROPERTY CHANGE: Adding CLIENTUILEVEL property. Its value is '0'.
MSI (c) (D4:B4) [20:19:11:687]: PROPERTY CHANGE: Adding CLIENTPROCESSID property. Its value is '3796'.
MSI (c) (D4:B4) [20:19:11:687]: TRANSFORMS property is now: 
MSI (c) (D4:B4) [20:19:11:687]: PROPERTY CHANGE: Adding VersionDatabase property. Its value is '200'.
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\admin\Application Data
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\admin\Favorites
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\admin\NetHood
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\admin\My Documents
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\admin\PrintHood
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\admin\Recent
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\admin\SendTo
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\admin\Templates
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\All Users\Application Data
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\admin\Local Settings\Application Data
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\admin\My Documents\My Pictures
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\admin\Start Menu\Programs\Administrative Tools
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\admin\Start Menu\Programs\Startup
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\admin\Start Menu\Programs
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\admin\Start Menu
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\admin\Desktop
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\All Users\Start Menu\Programs\Administrative Tools
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\All Users\Start Menu\Programs\Startup
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\All Users\Start Menu\Programs
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\All Users\Start Menu
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\Documents and Settings\All Users\Desktop
MSI (c) (D4:B4) [20:19:11:687]: SHELL32::SHGetFolderPath returned: C:\WINDOWS\Fonts
MSI (c) (D4:B4) [20:19:11:687]: Note: 1: 2898 2: MS Sans Serif 3: MS Sans Serif 4: 0 5: 16 
MSI (c) (D4:B4) [20:19:11:718]: PROPERTY CHANGE: Adding Privileged property. Its value is '1'.
MSI (c) (D4:B4) [20:19:11:718]: Note: 1: 1402 2: HKEY_CURRENT_USER\Software\Microsoft\MS Setup (ACME)\User Info 3: 2 
MSI (c) (D4:B4) [20:19:11:718]: PROPERTY CHANGE: Adding USERNAME property. Its value is 'MACET'.
MSI (c) (D4:B4) [20:19:11:718]: Note: 1: 1402 2: HKEY_CURRENT_USER\Software\Microsoft\MS Setup (ACME)\User Info 3: 2 
MSI (c) (D4:B4) [20:19:11:718]: PROPERTY CHANGE: Adding COMPANYNAME property. Its value is 'Marthandam College of Engineering and Technology'.
MSI (c) (D4:B4) [20:19:11:718]: PROPERTY CHANGE: Adding DATABASE property. Its value is 'C:\DOCUME~1\admin\LOCALS~1\Temp\486c8b74.msi'.
MSI (c) (D4:B4) [20:19:11:718]: PROPERTY CHANGE: Adding OriginalDatabase property. Its value is 'D:\Setup.msi'.
MSI (c) (D4:B4) [20:19:11:718]: PROPERTY CHANGE: Adding SourceDir property. Its value is 'D:\'.
MSI (c) (D4:B4) [20:19:11:718]: PROPERTY CHANGE: Adding SOURCEDIR property. Its value is 'D:\'.
MSI (c) (D4:7C) [20:19:11:718]: PROPERTY CHANGE: Adding VersionHandler property. Its value is '3.01'.
=== Logging started: 2/12/2015  20:19:11 ===
MSI (c) (D4:B4) [20:19:11:734]: Note: 1: 2262 2: PatchPackage 3: -2147287038 
MSI (c) (D4:B4) [20:19:11:734]: Machine policy value 'DisableRollback' is 0
MSI (c) (D4:B4) [20:19:11:734]: User policy value 'DisableRollback' is 0
MSI (c) (D4:B4) [20:19:11:734]: PROPERTY CHANGE: Adding UILevel property. Its value is '5'.
MSI (c) (D4:B4) [20:19:11:734]: PROPERTY CHANGE: Adding ACTION property. Its value is 'INSTALL'.
MSI (c) (D4:B4) [20:19:11:734]: Doing action: INSTALL
MSI (c) (D4:B4) [20:19:11:734]: Note: 1: 2262 2: ActionText 3: -2147287038 
Action 20:19:11: INSTALL. 
Action start 20:19:11: INSTALL.
MSI (c) (D4:B4) [20:19:11:734]: UI Sequence table 'InstallUISequence' is present and populated.
MSI (c) (D4:B4) [20:19:11:734]: Running UISequence
MSI (c) (D4:B4) [20:19:11:734]: PROPERTY CHANGE: Adding EXECUTEACTION property. Its value is 'INSTALL'.
MSI (c) (D4:B4) [20:19:11:734]: Doing action: DIRCA_CheckFX
Action 20:19:11: DIRCA_CheckFX. 
Action start 20:19:11: DIRCA_CheckFX.
MSI (c) (D4:A4) [20:19:11:796]: Invoking remote custom action. DLL: C:\DOCUME~1\admin\LOCALS~1\Temp\MSI161.tmp, Entrypoint: CheckFX
MSI (c) (D4:54) [20:19:11:812]: Cloaking enabled.
MSI (c) (D4:54) [20:19:11:812]: Attempting to enable all disabled priveleges before calling Install on Server
MSI (c) (D4:54) [20:19:11:812]: Connected to service for CA interface.
Action ended 20:19:12: DIRCA_CheckFX. Return value 3.
MSI (c) (D4:B4) [20:19:12:218]: Doing action: FatalErrorForm
Action 20:19:12: FatalErrorForm. 
Action start 20:19:12: FatalErrorForm.

ACUBE。

1 个答案:

答案 0 :(得分:13)

我会尝试记录基本问题。问题是嵌入在MSI中的DLL,它提供安装程序使用的自定义操作,例如此处失败的CheckFx()函数。一个辅助函数,用于检查已安装的.NET Framework版本。您将在C:\ Program Files(x86)\ Microsoft Visual Studio 12.0 \ Common7 \ IDE \ CommonExtensions \ Microsoft \ VSI \ bin \ dpca.dll中的机器上找到它。

核心问题是这个DLL不再与XP兼容。 VS2012是第一个开始更改可执行文件所需的最低Windows版本的VS版本。从Visual Studio命令提示符运行Dumpbin.exe /headers dpca.dll可以看到的内容。输出,修剪以适合:

Dump of file dpca.dll

PE signature found

File Type: DLL

...

OPTIONAL HEADER VALUES
             10B magic # (PE32)
           12.00 linker version
           34200 size of code
            8800 size of initialized data
               0 size of uninitialized data
           133E3 entry point (100133E3)
            1000 base of code
           36000 base of data
        10000000 image base (10000000 to 1003FFFF)
            1000 section alignment
             200 file alignment
            6.00 operating system version              // <=== here
           10.00 image version
            6.00 subsystem version                     // <=== here
               0 Win32 version
        ... etc

请注意标记的版本号,6.00是Windows的Windows版本。 XP属于上一代,主要版本5.不可避免地自定义操作失败,DLL无法加载到XP上。

在技术上可以解决这个问题,你需要用旧版本替换dpca.dll,这个版本仍然适用于XP。您需要访问VS,2010或更低版本的早期版本。 this Q+A的主题。

另外还提醒一下,XP真的已经结束了。将支持成本转嫁给您的客户,他们倾向于开始做正确的事情:)然而无法帮助。