Sammanfattning
Virtuella programpaket innehåller ett manifest med all grundläggande information och alla standardinställningar för paketet. Om du vill justera dessa standardinställningar för en viss användare eller grupp kan du skapa och redigera användarkonfigurationsfilen (UserConfig). Med UserConfig-filen kan du ange eller ändra anpassade inställningar för ett paket. Dessa inställningar används för en viss användare när paketet distribueras till en dator som kör App-V-klienten.
Symtom
Publicering av virtuella programpaket som har UserConfig-filer via App-V-hanteringskonsolen kan misslyckas på grund av en ändring i hur SQL Server 2016 och senare hanterar datatyper. Mer information om ändringen finns i KB4010261. Paket som har det här problemet har sju siffror för millisekunder i tidsstämpeln, till exempel "2019-12-30T14:41:57.7433333". Paket som sannolikt publiceras utan problem har två siffror för millisekunder i tidsstämpeln, till exempel "2019-12-30T14:41:50.58".
Om du stöter på det här problemet kan följande felmeddelande visas i utförlig loggning:
5756 [7]14D4.4320::12/10/19-08:28:34.9973489 [Microsoft.Windows.AppMan.AppV] LOGLEVEL=1, MESSAGE=Catalog: Failed to set the last modification time on policy file 'C:\Users\sgern\AppData\Roaming\Microsoft\AppV\Client\Catalog\Packages\{1D45F06B-874D-4A85-86EF-2330B430E47D}\{DB5DE6F6-15E8-4932-A7CF-2DA12EA5B068}\DynamicConfiguration.xml. Error code: 0x0FD0A725-00000057, FUNCTION=AppV::Client::Catalog::DocumentStoreImpl::SavePolicyDocumentToFile, LINENO=1078, UTCReplace_AppSessionGuid=true
Felet 0x0FD0A725-00000057 kommer tillbaka från Windows och betyder "fel parameter"
Tillfällig lösning
Du kan behöva göra något av följande för att åtgärda det här problemet:
-
Publicera paketet med PowerShell.
-
Ändra kompatibilitetsnivån för databasen till ett värde som är lägre än 130.
-
Ändra datatypen för den kolumn som används för tidsstämpeln.
Nedan visas ett exempelskript för att ändra datatypen för den kolumn som används för tidsstämpeln. Obs! Du måste ändra DB-namnet i skriptet för din miljö. Viktigt! Vi rekommenderar att du säkerhetskopierar din DB innan du kör några skript.
USE AppVManagement
GO
ALTER TABLE dbo.PackageEntitlements ALTER column UserConfigurationTimestamp datetime2(3)
GO
ALTER TABLE dbo.PackageVersions ALTER column TimeAdded datetime2(3)
GO
ALTER TABLE dbo.PackageVersions ALTER column TimeChanged datetime2(3)
GO
ALTER TABLE dbo.PackageVersions ALTER column TimeEnabled datetime2(3)
GO
ALTER TABLE dbo.PublishingServers ALTER column LastPublishingAttempt datetime2(3)
GO
Obs! Du stöter inte på det här problemet om du publicerar dina virtuella programpaket via PowerShell.