Summary
Virtual application packages contain a manifest that provides all the core information and default settings for the package. If you want to adjust these defaults for a particular user or group, you can create and edit the User Configuration file (UserConfig). The UserConfig file allows you to specify or modify custom settings for a package. These settings will be applied for a specific user when the package is deployed to a computer running the App-V client.
Symptoms
Publishing of virtual application packages that have UserConfig files through App-V Management Console might fail due to a change in how SQL Server 2016 and later handle data types. For more information on that change, see KB4010261. Packages that have this issue will include seven digits for miliseconds in the Timestamp for example, "2019-12-30T14:41:57.7433333". Packages that will likely be published sucessfully have two digits for milisecond in the Timestamp, for exmaple "2019-12-30T14:41:50.58".
If you encounter this issue, you may recieve the following error in verbose logging:
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
The Error 0x0FD0A725-00000057 is coming back from Windows and means “Wrong Parameter”
Workaround
To mitigate this issue, you might need to do one of the following:
-
Use PowerShell to publish the package.
-
Change the Compatibility Level of the Database to something lower than 130.
-
Change the Datatype of the column used for the timestamp.
An example script to change the datatype of the column used for the timestampe Can be found below. Note You will need to adjust the DB name in the script for your enviornment. Important It is recomended you make a backup of your DB before you run any scripts.
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
Note You will not encounter this issue if you publish your virtual application packages through PowerShell.