2015-05-13 13 views
1

看來,Windows 10 Insider Preview發送一個msiexec.exe,其中包含一個「supportedOS」= 8.1的清單。這打破了一些Windows 10元素的檢測,如VersionNT,DirectX,IIS等。Windows 10「msiexec.exe」清單仍然在8.1

任何人都可以確認這是否是已知問題?任何修復ETA?

+0

您可能需要提供更多的細節。 VersionNT(64)的什麼vakue你會回來嗎? DirectX和IIS與Windows Installer有什麼關係?偶爾新版本的操作系統帶有VersionNT的「錯誤」值,因此基於VersionNT的冒險啓動條件的設置仍然可以安裝並且應用程序經過測試,並且exe和MSI文件在屬性中具有兼容性選項卡以更改其中的一部分,或者也許我正在完全吠叫錯誤的樹。 – PhilDW

+0

VersionNT = 603(就像Win 8.1一樣),但它應該是1000。 – mteodor

+0

+1即使安裝了所有可用的Windows更新,現在在Windows 10的發佈版本中仍存在此問題。 –

回答

0

此時其明顯的是,微軟不打算修復它,恰恰相反:MSI技術在Windows棄用10

然而,高級安裝正確VersionNT(64)=1000計算上的Windows 10和Windows服務器2016!

0

由於Windows Installer屬性VersionNT在Win 10上給出了一個「錯誤」的值,我們不得不尋找另一種檢測操作系統的方法。我發現,檢測的Windows 10一個非常容易和可靠的方法是通過調用內置的WMIC命令,並分析從它的輸出:

wmic os get Name,Version,BuildNumber /VALUE 

它會返回完全相同的信息,你需要確定你的操作系統「重新上:

BuildNumber = 14393

版本= 10.0。

http://helpnet.flexerasoftware.com/installshield22helplib/helplibrary/whats_newIS2015.htm

在使用Windows 10系統中,Windows Installer屬性VersionNT 和VersionNT64表示603,這原本是作爲Windows 8.1中的 版本號。因此,不可能產生在.msi包 條件特異性靶向視窗10.

由於Windows安裝5.0和Windows 7,在.msi程序 包DLL自定義動作被填隙以阻止獲得操作系統版本; API GetVersion,GetVersionEx和RtlGetVersion返回版本爲6.0.6000的Windows ,該版本最初是Windows Vista的版本號 。因此,也無法從DLL自定義操作或從InstallScript自定義操作(它是以DLL的形式實現)獲得Windows的實際版本號 。

由於Windows安裝程序的上述行爲的,它不是 容易地將檢測到Windows的是什麼版本的上一個.msi 包運行

相關問題