ข้อมูลสรุป
แพคเกจแอปพลิเคชันเสมือนมีไฟล์กำกับที่ให้ข้อมูลหลักและการตั้งค่าเริ่มต้นทั้งหมดสำหรับแพคเกจ หากคุณต้องการปรับค่าเริ่มต้นเหล่านี้สำหรับผู้ใช้หรือกลุ่มใด คุณสามารถสร้างและแก้ไขไฟล์การกำหนดค่าผู้ใช้ (UserConfig) ได้ ไฟล์ UserConfig ช่วยให้คุณสามารถระบุหรือปรับเปลี่ยนการตั้งค่าแบบกำหนดเองสำหรับแพคเกจได้ การตั้งค่าเหล่านี้จะนำไปใช้สำหรับผู้ใช้คนใดคนหนึ่งเมื่อมีการปรับใช้แพคเกจกับคอมพิวเตอร์ที่ใช้งานไคลเอ็นต์ App-V
อาการ
การเผยแพร่แพคเกจแอปพลิเคชันเสมือนที่มีไฟล์ UserConfig ผ่านคอนโซลการจัดการของ App-V อาจล้มเหลวเนื่องจากมีการเปลี่ยนแปลงลักษณะการจัดการประเภทข้อมูลของ SQL Server 2016 หรือใหม่กว่า ดูข้อมูลเพิ่มเติมเกี่ยวกับการเปลี่ยนแปลงดังกล่าวได้ที่ KB4010261 แพคเกจที่ประสบปัญหานี้จะมีตัวเลขมิลลิวินาทีเจ็ดหลักในประทับเวลา เช่น "2019-12-30T14:41:57.7433333" แพคเกจซึ่งมีแนวโน้มที่จะเผยแพร่สำเร็จจะมีตัวเลขมิลลิวินาทีสองหลักในประทับเวลา เช่น "2019-12-30T14:41:50.58"
หากคุณประสบปัญหานี้ คุณอาจได้รับข้อผิดพลาดต่อไปนี้ในการบันทึก Verbose:
5756 [7]14D4.4320::12/10/19-08:28:34.9973489 [Microsoft.Windows.AppMan.AppV] LOGLEVEL=1, MESSAGE=Catalog: ไม่สามารถตั้งเวลาการปรับเปลี่ยนล่าสุดในไฟล์นโยบายได้ 'C:\Users\sgern\AppData\Roaming\Microsoft\AppV\Client\Catalog\Packages\{1D45F06B-874D-4A85-86EF-2330B430E47D}\{DB5DE6F6-15E8-4932-A7CF-2DA12EA5B068}\DynamicConfiguration.xml รหัสข้อผิดพลาด: 0x0FD0A725-00000057, FUNCTION=AppV::Client::Catalog::DocumentStoreImpl::SavePolicyDocumentToFile, LINENO=1078, UTCReplace_AppSessionGuid=true
ข้อผิดพลาด 0x0FD0A725-00000057 กำลังกลับมาจาก Windows ซึ่งหมายถึง “พารามิเตอร์ไม่ถูกต้อง”
วิธีการแก้ไข
หากต้องการลดปัญหานี้ คุณอาจต้องทำสิ่งใดสิ่งหนึ่งต่อไปนี้:
-
ใช้ PowerShell ในการเผยแพร่แพคเกจ
-
เปลี่ยนแปลงระดับความเข้ากันได้ของฐานข้อมูลให้เหลือต่ำกว่า 130
-
เปลี่ยนแปลงชนิดข้อมูลของคอลัมน์ที่ใช้สำหรับประทับเวลา
ดูตัวอย่างสคริปต์ในการเปลี่ยนแปลงชนิดข้อมูลของคอลัมน์ที่ใช้สำหรับประทับเวลาได้ด้านล่างนี้ หมายเหตุ คุณจะต้องปรับชื่อ DB ในสคริปต์สำหรับสภาพแวดล้อมของคุณ สิ่งสำคัญ ขอแนะนำให้คุณสำรองข้อมูล DB ของคุณก่อนเรียกใช้สคริปต์
USE AppVManagement
ไป
ALTER TABLE dbo.PackageEntitlements ALTER column UserConfigurationTimestamp datetime2(3)
ไป
ALTER TABLE dbo.PackageVersions ALTER column TimeAdded datetime2(3)
ไป
ALTER TABLE dbo.PackageVersions ALTER column TimeChanged datetime2(3)
ไป
ALTER TABLE dbo.PackageVersions ALTER column TimeEnabled datetime2(3)
ไป
ALTER TABLE dbo.PublishingServers ALTER column LastPublishingAttempt datetime2(3)
ไป
หมายเหตุ คุณจะไม่ประสบปัญหานี้หากคุณเผยแพร่แพคเกจแอปพลิเคชันเสมือนของคุณผ่าน PowerShell