如何將windows桌面應用程式轉換為通用windows應用程式

隨著windows10的週年更新,微軟使開發人員能夠將傳統的Windows桌面應用程式轉換為通用Windows平臺(universalwindows Platform,UWP)應用程式。但任何人都可以用任何應用程式做到這一點——不僅僅是開發人員。...

如何將windows桌面應用程式轉換為通用windows應用程式

隨著windows10的週年更新,微軟使開發人員能夠將傳統的Windows桌面應用程式轉換為通用Windows平臺(universalwindows Platform,UWP)應用程式。但任何人都可以用任何應用程式做到這一點——不僅僅是開發人員。

使用Windows10的轉換器,只要給它一個.msi或.exe檔案,它就會輸出一個.appx包。然後,您可以在自己的PC上側載此應用程式,或者–如果您是應用程式的開發人員–您可以將生成的UWP應用程式提交到Windows應用商店。這項功能將隨著Windows10週年紀念版的更新而普及,為Windows應用商店帶來許多“遺留”應用程式。

你為什麼要這麼做

相關報道:windows10週年更新的新功能

此功能是Microsoft Project Centennial的最終成果,該專案旨在將那些“遺留”的Win32和.NET Windows桌面應用程式引入Windows應用商店和新的通用Windows平臺。

你可能想知道為什麼有人想把一個桌面應用程式轉換成一個新的UWP應用程式。首先,Windows應用商店中只允許使用UWP應用程式。這使得開發人員能夠更多地關注他們的應用程式,更不用說單擊安裝、輕鬆購買和自動更新了。

微軟新的UWP應用程式平臺是沙盒,但你轉換的桌面應用程式不是。這些應用程式可以完全訪問您的系統,就像傳統的桌面應用程式一樣。正如微軟的文件所說:“作為一個UWP應用程式,你的應用程式能夠像一個經典的桌面應用程式那樣做一些事情。它與登錄檔和檔案系統的虛擬化檢視互動,這與實際的登錄檔和檔案系統沒有區別。”

侷限性

相關報道:如何成為Windows內部人士並測試windows10的新功能

這裡有一些重要的限制。首先,您只能在Windows 10週年更新上執行此操作。目前,它將與Windows10InsiderPreviewBuild14316及更高版本配合使用,因此您需要加入WindowsInsider程式並使用Windows10的InsiderPreviewBuild。

此功能還需要Windows 10的專業版或企業版。Windows10家庭使用者將無法使用桌面應用程式轉換器。從構建14316開始,它只在windows10enterprise上執行,但對windows10professional的支援即將到來。目前,此工具只能在64位版本的Windows上使用,並且生成的AppX包只能安裝在64位版本的Windows上。這將在未來的Windows10內部版本中改變。

由此產生的應用程式是為Windows10個人電腦設計的,它們不能在Windows10移動智慧**、Xbox One、HoloLens、Surface Hub和其他執行UWP應用程式的Windows10平臺上執行。不過,如果你是一名開發人員,微軟提供了一種將你的桌面應用程式匯入跨平臺UWP應用程式的途徑:“如果你選擇將應用程式的所有功能從應用程式的完全信任分割槽移到應用程式容器分割槽,那麼你的應用程式將能夠在任何Windows 10裝置上執行。”

但是,不支援某些型別的應用程式行為。應用程式不能要求以管理員身份執行或使用其他型別的低階系統訪問。Microsoft提供了不允許的行為列表。

如何設定桌面應用程式轉換器

假設您使用的是足夠新的windows10insiderpreview版本,您可以從微軟的開發者網站下載並安裝桌面應用程式轉換器。下載兩個DesktopAppConverter.zip檔案和BaseImage-14316.wim檔案。解壓縮下載的DesktopAppConverter.zip檔案將檔案儲存到計算機上的資料夾中,並將BaseImage檔案放在同一目錄中。(如果有新版本的Windows10可用,您應該會看到一個新的BaseImage檔案。您需要使用與已安裝的Windows 10版本號相同的BaseImage檔案。)

您還需要下載並安裝Windows10SDK。

如何將windows桌面應用程式轉換為通用windows應用程式

接下來,以管理員身份開啟PowerShell視窗。為此,請開啟“開始”選單,搜尋“PowerShell”,右鍵單擊其快捷方式,然後選擇“以管理員身份執行”

透過執行以下命令更改PowerShell的執行策略。事後鍵入y表示同意更改。

Set-ExecutionPolicy bypass

執行下面的命令,將C:\Users\NAME\Downloads\DesktopAppConvertor替換為計算機上目錄的路徑:

cd -Path C:\Users\NAME\Downloads\DesktopAppConvertor

透過執行以下命令設定桌面應用程式轉換器:

.\DesktopAppConverter.ps1 -Setup -BaseImage .\BaseImage-14316.wim

如果在執行這些命令時被要求重新啟動,請重新啟動計算機,然後再次執行該命令。

如何將windows桌面應用程式轉換為通用windows應用程式

如何轉換桌面應用程式

現在可以執行DesktopAppConverter.ps1從管理員PowerShell視窗中編寫指令碼,以在單個命令中將桌面應用程式轉換為UWP應用程式。您需要應用程式的安裝程式來完成此操作。作為一個例子,我們將在這裡使用VLC。

要檢視選項的詳細列表,可以隨時執行以下命令:

get-help .\DesktopAppConverter.ps1 -detailed

下面是一個可以根據應用程式使用和調整的命令:

.\DesktopAppConverter.ps1 -ExpandedBaseImage C:\ProgramData\Microsoft\Windows\Images\BaseImage-14316 –Installer C:\Installer\MyApp.exe -InstallerArguments "/S" -Destination C:\Output\MyApp -PackageName "MyApp" -Publisher "CN=<publisher_name>" -Version 0.0.0.1 -MakeAppx -Verbose

您需要調整命令以新增您自己的釋出者名稱、版本、包名稱,並將其指向您喜歡的安裝程式檔案和目標目錄。這裡的-InstallerArguments“/S”選項將/S開關傳遞給安裝程式,這使得許多應用程式安裝程式在沒有任何使用者輸入的情況下進行靜默安裝。應用程式必須可以在沒有任何使用者輸入的情況下安裝,否則無法轉換它們。

應用程式的安裝程式應該位於自己的目錄中,而不包含任何其他檔案,因為與安裝程式位於同一目錄中的檔案將被複制到生成的.appx包中。

例如,我們在這裡使用VLC,所以下面是我們將使用的命令:

.\DesktopAppConverter.ps1 -ExpandedBaseImage C:\ProgramData\Microsoft\Windows\Images\BaseImage-14316 –Installer C:\Users\chris\Downloads\vlc\vlc-2.2.2-win32.exe -InstallerArguments "/S" -Destination C:\Output\VLC -PackageName "VLC" -Publisher "CN=VideoLAN" -Version 0.2.2.2 -MakeAppx -Verbose

如何將windows桌面應用程式轉換為通用windows應用程式

該工具將為您提供一個.appx包,這是應用程式的UWP版本。

如何將windows桌面應用程式轉換為通用windows應用程式

如何在不簽名的情況下安裝應用程式

通常,在安裝應用程式之前,需要先對其進行有效簽名。Microsoft建議您建立一個自簽名證書,並使用您計算機上的證書對應用程式進行簽名。如果你願意,你可以按照下面的說明來做。

不過,如果你只想在自己的電腦上安裝這個應用程式,你可以自己更快地完成,而不會弄亂任何簽名。如果您是從目錄安裝“未打包”的應用程式,Windows 10允許您安裝應用程式而無需對其進行簽名。

為此,請以管理員身份開啟PowerShell視窗並執行以下命令:

Add-AppxPackage -Path C:\Path\to\AppxManifest.xml -Register

你會發現AppxManifest.xml檔案檔案旁邊的應用程式.appx指定的輸出目錄中的檔案。

現在可以從“開始”選單啟動應用程式。它將是一個“Windows應用程式”而不是一個“桌面應用程式”,但在其他方面,它的外觀和工作方式將與普通桌面應用程式一樣。

如何將windows桌面應用程式轉換為通用windows應用程式

如何簽名和安裝應用程式

如果已經安裝了應用程式,則不需要遵循這些說明。這是更難的辦法。

如果.appx包具有有效的簽名,則通常只能安裝該包。Microsoft建議使用signtool.exeWindows10SDK附帶的應用程式,用於建立自簽名證書,該證書允許您在自己的計算機上安裝和測試該應用程式。

只需以管理員身份開啟命令提示符視窗,並執行以下命令即可建立自簽名證書,並用它對.appx包進行簽名:

cd "C:\Program Files (x86)\Windows Kits\10\bin\x64" MakeCert.exe -r -h 0 -n "CN=Publisher" -eku 1.3.6.1.5.5.7.3.3 -pe -sv my.pvk my.cer pvk2pfx.exe -pvk my.pvk -spc my.cer -pfx my.pfx signtool.exe sign -f my.pfx -fd SHA256 -v C:\Path\to\application.appx

請注意,您指定的釋出伺服器(即“CN=publisher”)必須與您先前在建立AppX檔案時指定的釋出伺服器匹配。因此,繼續上面的VLC示例,我們必須使用“CN=VideoLAN”。

系統將要求您輸入密碼。你可以把密碼留空。

如何將windows桌面應用程式轉換為通用windows應用程式

現在可以使用Add AppxPackage命令在PowerShell(管理員)視窗中安裝.appx包:

Add-AppxPackage C:\Path\to\application.appx

任何人都可以使用此功能,但只有開發人員(可能還有一些系統管理員)願意使用此功能。幸運的是,這個過程對於開發人員來說非常簡單。

  • 發表於 2021-04-09 18:26
  • 閱讀 ( 36 )
  • 分類:網際網路

你可能感興趣的文章

如何在Windows10中自定義任何圖示

... 我們將向您展示如何在Windows10上更改圖示,包括程式和資料夾圖示。稍加努力,你就會有一個全新的介面! ...

  • 發佈於 2021-03-11 08:07
  • 閲讀 ( 75 )

從microsoft應用商店下載windows桌面應用程式的3個原因

在Windows上安裝軟體真是一件痛苦的事。由於Mac應用商店安裝和Linux軟體包管理器等選項的幫助,其他作業系統在這一領域客觀上更好。Windows最多隻能依靠Ninite之類的批次安裝應用程式。但在未來幾年,這種情況可能會改變。 ...

  • 發佈於 2021-03-12 08:17
  • 閲讀 ( 59 )

一個尺寸不適合所有人:為什麼軟體不能普遍相容

...作業系統工作需要一點(只是一點,我保證)關於軟體是如何**的知識。 ...

  • 發佈於 2021-03-13 08:34
  • 閲讀 ( 54 )

如何在mac上建立與windows相容的iso光碟映像

這是一個兩難的問題。你是一個Mac使用者,必須建立一個光碟克隆,以便與朋友共享。但是,磁碟必須與Windows相容。 ...

  • 發佈於 2021-03-15 05:42
  • 閲讀 ( 57 )

如何使用ocr將手寫影象轉換為文字

您是否需要將手寫筆記數字化以編輯或索引它們?或者你想從手寫引文的圖片中複製文字?你需要的是一種光學字元識別(OCR)工具。 ...

  • 發佈於 2021-03-18 01:59
  • 閲讀 ( 47 )

7款最好的免費ocr軟體應用,可將影象轉換為文字

... 下載:SimpleOCR for Windows(免費、付費) ...

  • 發佈於 2021-03-18 03:41
  • 閲讀 ( 58 )

適用於windows計算機的最佳pc軟體

最好的PC軟體不會讓你的Windows電腦陷入困境。它是乾淨的,免費的,並且完成了任務。 ...

  • 發佈於 2021-03-18 13:00
  • 閲讀 ( 73 )

為什麼要從onenote 2016切換到onenote for windows 10

... onenote如何讓您井然有序 ...

  • 發佈於 2021-03-24 12:37
  • 閲讀 ( 67 )

3種將網頁轉換為PDF的簡單方法

大多數人都知道如何儲存列印友好版本的網頁,以便於閱讀。他們常常排除許多影象和廣告,以節省印刷時間和油墨。但是把網頁轉換成PDF呢? ...

  • 發佈於 2021-03-25 08:08
  • 閲讀 ( 48 )

在任何地方編輯pdf檔案的7個最佳工具

...然,現在每個瀏覽器都可以開啟一個PDF檔案,但是你知道如何編輯PDF檔案嗎? ...

  • 發佈於 2021-03-30 14:07
  • 閲讀 ( 62 )
u的還是深呼吸
u的還是深呼吸

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦