Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

116 lines
5.0 KiB

  1. //*************************************************************
  2. //
  3. // Copyright (c) Microsoft Corporation 1998-2001
  4. // All rights reserved
  5. //
  6. // registry.hxx
  7. //
  8. // Names of registry keys and values used by app manangement.
  9. //
  10. //*************************************************************
  11. #ifndef _REGISTRY_HXX_
  12. #define _REGISTRY_HXX_
  13. #define POLICYKEY L"Software\\Microsoft\\Windows\\CurrentVersion\\Group Policy"
  14. #define APPMGMTKEY L"Software\\Microsoft\\Windows\\CurrentVersion\\Group Policy\\Appmgmt"
  15. #define APPMGMTSUBKEY L"AppMgmt"
  16. #define APPMGMTEXTENSIONGUID L"{c6dc5466-785a-11d2-84d0-00c04fb169f7}"
  17. // Global values under AppMgmt key.
  18. #define POLICYLISTVALUE L"GPOs"
  19. #define FULLPOLICY L"FullPolicy"
  20. #define LASTARCHLANG L"LastArchLang"
  21. // Values under each deployment id subkey.
  22. #define DEPLOYMENTNAMEVALUE L"Deployment Name"
  23. #define GPONAMEVALUE L"GPO Name"
  24. #define GPOIDVALUE L"GPO ID"
  25. #define PRODUCTIDVALUE L"Product ID"
  26. #define INSTALLUI L"Install UI"
  27. #define APPSTATEVALUE L"AppState"
  28. #define REVISIONVALUE L"Revision"
  29. #define SCRIPTTIMEVALUE L"ScriptTime"
  30. #define ASSIGNCOUNTVALUE L"AssignCount"
  31. #define SUPERCEDEDIDS L"SupercededIDs"
  32. #define SUPPORTURL L"SupportUrl"
  33. #define REMOVEDGPOSTATE L"RemovedAppState"
  34. // value name for rsop version
  35. #define RSOPVERSION L"RsopVersion"
  36. //
  37. // Both persisted and temporary application state bits. Persisted values can
  38. // not be changed for compatability reasons.
  39. //
  40. #define APPSTATE_PERSIST_MASK 0x000000ff
  41. //
  42. // Persisted bits.
  43. //
  44. #define APPSTATE_ASSIGNED 0x1 // app is assigned
  45. #define APPSTATE_PUBLISHED 0x2 // app is published
  46. #define APPSTATE_UNINSTALL_UNMANAGED 0x4 // uninstall any unmanaged version before assigning
  47. #define APPSTATE_POLICYREMOVE_ORPHAN 0x8 // app is orphaned when policy removed
  48. #define APPSTATE_POLICYREMOVE_UNINSTALL 0x10 // app is uninstalled when policy removed
  49. #define APPSTATE_ORPHANED 0x20 // app is orphaned after being applied
  50. #define APPSTATE_UNINSTALLED 0x40 // app is uninstalled after being applied
  51. #define APPSTATE_INSTALL 0x80 // do a full install for user assigned
  52. //
  53. // Temporary bits.
  54. //
  55. // CheckScriptExistence() must be called before these two are valid
  56. #define APPSTATE_SCRIPT_EXISTED 0x100 // if app script was already on the machine
  57. #define APPSTATE_SCRIPT_NOT_EXISTED 0x200 // if app script was not already on the machine
  58. // CopyScriptIfNeeded() must be called before this flag is valid
  59. #define APPSTATE_SCRIPT_PRESENT 0x400 // if we now know we have the script on the machine
  60. #define APPSTATE_TRANSFORM_CONFLICT 0x800 // if we had a transform conflict error during advertise
  61. #define APPSTATE_NAME_CHANGE 0x1000 // if we change the display name during an ARP enum
  62. #define APPSTATE_RESTORED 0x2000 // if the app was restored from a bad profile merge
  63. #define APPSTATE_FULL_ADVERTISE 0x4000 // if shortcuts should and class data may be advertised
  64. //
  65. // Layout of our management data in the registry under POLICYKEY.
  66. //
  67. // AppMgmt
  68. // GPOs = REG_SZ
  69. // FullPolicy = REG_DWORD (boolean, set if policy should be re-run at next boot/logon)
  70. // LastArchLang = REG_DWORD (last architecture (upper WORD) and langid (lower WORD))
  71. // Product ID = REG_DWORD (msi.h -> INSTALLUILEVEL)
  72. //
  73. // {deployment guid}
  74. // Deployment Name = REG_SZ
  75. // GPO Name = REG_SZ
  76. // GPO ID = REG_SZ
  77. // Product ID = REG_SZ
  78. // Install UI = REG_DWORD (msi.h -> INSTALLUILEVEL)
  79. // AppState = REG_DWORD (according to APPSTATE bits)
  80. // Revision = REG_DWORD (deployment version #, used for qfe/patch "Refresh")
  81. // ScriptTime = REG_BINARY (creation FILETIME of script, only set if Revision > 0)
  82. // AssignCount = REG_DWORD (number of full first time assignments of the app)
  83. // SupercededIDs = REG_MULTI_SZ (list of superceded deployment ids)
  84. // SupportUrl = REG_SZ
  85. // RemovedAppState = REG_DWORD (appstate for an app right before its gpo went out of scope)
  86. // RsopVersion = REG_DWORD (updated every time appmgmt rsop logging occurs, has a counterpart under the state key for comparison of user with machine)
  87. // {deployment guid}
  88. // ...
  89. //
  90. //
  91. // Layout of our management data in the registry under per-machine gp engine state key
  92. //
  93. // HKLM\Software\Microsoft\Windows\CurrentVersion\Group Policy\State\<UserSid>
  94. //
  95. // {c6dc5466-785a-11d2-84d0-00c04fb169f7}
  96. // DiagnosticNameSpace = REG_SZ (wmi path to diagnostic namespace, defined outside the appmgmt module)
  97. // RsopVersion = REG_DWORD (updated every time appmgmt rsop logging occurs, should be a match for user profile version if the machine's logging data is in sync with the user's profile)
  98. //
  99. #endif