Skip to content

Commit

Permalink
fix: windows desktop evaluation (#908)
Browse files Browse the repository at this point in the history
Updates Windows Desktop Enterprise Edition to support the default use of evaluation mode.

Ref: #896

Professional Edition does not support evaluation mode. Microsoft Evaluation Center only provides support for Enterprise Edition.

Please see the FAQ for additional details.

Signed-off-by: Ryan Johnson <[email protected]>
  • Loading branch information
tenthirtyam committed Apr 26, 2024
1 parent 4e1650a commit 111a7f3
Show file tree
Hide file tree
Showing 6 changed files with 46 additions and 42 deletions.
24 changes: 16 additions & 8 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,22 @@

> Release Date: Not Released
**Bug Fix**:

- Updates Windows Desktop Enterprise Edition to support the default use of evaluation mode.
[#908](https://github.com/vmware-samples/packer-examples-for-vsphere/pull/908)

**Note**: Professional Edition does not support evaluation mode. Microsoft Evaluation Center only
provides support for Enterprise Edition. Please see the
[FAQ](https://vmware-samples.github.io/packer-examples-for-vsphere/getting-started/faq/) for
additional details.

- Updates Windows Server 2025 Insiders Preview default values to allow for deployment.
[#907](https://github.com/vmware-samples/packer-examples-for-vsphere/pull/907)
- `vm_inst_os_eval = true` >> `false` (Requires key)
- `vm_inst_os_kms_key_standard` >> `vm_inst_os_key_standard`
- `vm_inst_os_kms_key_datacenter` >> `vm_inst_os_key_datacenter`

**Enhancement**:

- Adds a script (`./download.sh`) and a configuration (`project.json`) to assist in the download of
Expand Down Expand Up @@ -59,14 +75,6 @@

> Release Date: 2024-04-09
**Bug Fix**:

- Updates Windows Server 2025 Insiders Preview default values to allow for deployment.
[#907](https://github.com/vmware-samples/packer-examples-for-vsphere/pull/907)
- `vm_inst_os_eval = true` >> `vm_inst_os_eval = false` (Insider's Preview requires key.)
- `vm_inst_os_kms_key_standard` >> `vm_inst_os_key_standard`
- `vm_inst_os_kms_key_datacenter` >> `vm_inst_os_key_datacenter`

**Enhancement**:

- Adds templates and unit tests for managing custom network and storage configurations for Linux
Expand Down
6 changes: 3 additions & 3 deletions builds/windows/desktop/10/windows.pkr.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -112,11 +112,11 @@ source "vsphere-iso" "windows-desktop-pro" {
"autounattend.xml" = templatefile("${abspath(path.root)}/data/autounattend.pkrtpl.hcl", {
build_username = var.build_username
build_password = var.build_password
vm_inst_os_eval = var.vm_inst_os_eval
vm_inst_os_eval = var.vm_inst_os_eval // Does not support evaluation.
vm_inst_os_language = var.vm_inst_os_language
vm_inst_os_keyboard = var.vm_inst_os_keyboard
vm_inst_os_image = var.vm_inst_os_image_pro
vm_inst_os_key = var.vm_inst_os_key_pro
vm_inst_os_key = var.vm_inst_os_key_pro // Does not support evaluation.
vm_guest_os_language = var.vm_guest_os_language
vm_guest_os_keyboard = var.vm_guest_os_keyboard
vm_guest_os_timezone = var.vm_guest_os_timezone
Expand Down Expand Up @@ -224,7 +224,7 @@ source "vsphere-iso" "windows-desktop-ent" {
vm_inst_os_eval = var.vm_inst_os_eval
vm_inst_os_language = var.vm_inst_os_language
vm_inst_os_keyboard = var.vm_inst_os_keyboard
vm_inst_os_image = var.vm_inst_os_image_ent
vm_inst_os_image = var.vm_inst_os_eval ? "${var.vm_inst_os_image_ent} Evaluation" : var.vm_inst_os_image_ent
vm_inst_os_key = var.vm_inst_os_key_ent
vm_guest_os_language = var.vm_guest_os_language
vm_guest_os_keyboard = var.vm_guest_os_keyboard
Expand Down
6 changes: 3 additions & 3 deletions builds/windows/desktop/10/windows.pkrvars.hcl.example
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
*/

// Installation Operating System Metadata
vm_inst_os_eval = true
vm_inst_os_eval = true // Set to false for Professional Edition.
vm_inst_os_language = "en-US"
vm_inst_os_keyboard = "en-US"
vm_inst_os_image_pro = "Windows 10 Pro"
vm_inst_os_image_pro = "Windows 10 Pro" // Does not support evaluation.
vm_inst_os_key_pro = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"
vm_inst_os_image_ent = "Windows 10 Enterprise"
vm_inst_os_image_ent = "Windows 10 Enterprise" // Does support evaluation.
vm_inst_os_key_ent = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"

// Guest Operating System Metadata
Expand Down
28 changes: 3 additions & 25 deletions builds/windows/desktop/11/windows.pkr.hcl
Original file line number Diff line number Diff line change
Expand Up @@ -113,11 +113,11 @@ source "vsphere-iso" "windows-desktop-pro" {
"autounattend.xml" = templatefile("${abspath(path.root)}/data/autounattend.pkrtpl.hcl", {
build_username = var.build_username
build_password = var.build_password
vm_inst_os_eval = var.vm_inst_os_eval
vm_inst_os_eval = var.vm_inst_os_eval // Does not support evaluation.
vm_inst_os_language = var.vm_inst_os_language
vm_inst_os_keyboard = var.vm_inst_os_keyboard
vm_inst_os_image = var.vm_inst_os_image_pro
vm_inst_os_key = var.vm_inst_os_key_pro
vm_inst_os_key = var.vm_inst_os_key_pro // Does not support evaluation.
vm_guest_os_language = var.vm_guest_os_language
vm_guest_os_keyboard = var.vm_guest_os_keyboard
vm_guest_os_timezone = var.vm_guest_os_timezone
Expand All @@ -144,17 +144,6 @@ source "vsphere-iso" "windows-desktop-pro" {

// Template and Content Library Settings
convert_to_template = true
# convert_to_template = var.common_template_conversion
# dynamic "content_library_destination" {
# for_each = var.common_content_library_enabled ? [1] : []
# content {
# library = var.common_content_library
# description = local.build_description
# ovf = var.common_content_library_ovf
# destroy = var.common_content_library_destroy
# skip_import = var.common_content_library_skip_export
# }
# }

// OVF Export Settings
dynamic "export" {
Expand Down Expand Up @@ -227,7 +216,7 @@ source "vsphere-iso" "windows-desktop-ent" {
vm_inst_os_eval = var.vm_inst_os_eval
vm_inst_os_language = var.vm_inst_os_language
vm_inst_os_keyboard = var.vm_inst_os_keyboard
vm_inst_os_image = var.vm_inst_os_image_ent
vm_inst_os_image = var.vm_inst_os_eval ? "${var.vm_inst_os_image_ent} Evaluation" : var.vm_inst_os_image_ent
vm_inst_os_key = var.vm_inst_os_key_ent
vm_guest_os_language = var.vm_guest_os_language
vm_guest_os_keyboard = var.vm_guest_os_keyboard
Expand Down Expand Up @@ -255,17 +244,6 @@ source "vsphere-iso" "windows-desktop-ent" {

// Template and Content Library Settings
convert_to_template = true
# convert_to_template = var.common_template_conversion
# dynamic "content_library_destination" {
# for_each = var.common_content_library_enabled ? [1] : []
# content {
# library = var.common_content_library
# description = local.build_description
# ovf = var.common_content_library_ovf
# destroy = var.common_content_library_destroy
# skip_import = var.common_content_library_skip_export
# }
# }

// OVF Export Settings
dynamic "export" {
Expand Down
6 changes: 3 additions & 3 deletions builds/windows/desktop/11/windows.pkrvars.hcl.example
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,12 @@
*/

// Installation Operating System Metadata
vm_inst_os_eval = true
vm_inst_os_eval = true // Set to false for Professional Edition.
vm_inst_os_language = "en-US"
vm_inst_os_keyboard = "en-US"
vm_inst_os_image_pro = "Windows 11 Pro"
vm_inst_os_image_pro = "Windows 11 Pro" // Does not support evaluation.
vm_inst_os_key_pro = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"
vm_inst_os_image_ent = "Windows 11 Enterprise"
vm_inst_os_image_ent = "Windows 11 Enterprise" // Does support evaluation.
vm_inst_os_key_ent = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"

// Guest Operating System Metadata
Expand Down
18 changes: 18 additions & 0 deletions docs/getting-started/faq.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,3 +7,21 @@ icon: octicons/comment-discussion-24
!!! note

The section will be updated as questions are asked.

???+ question "Why can't I build a Windows Desktop Professional template using the default evaluation mode?"

The project defaults all builds of Windows Server and Windows Desktop editions to use evaluations
(or Insider Preview). Unfortunately, Windows Desktop Professional Edition does not support evaluation mode.
The ISO provided by the Microsoft Evaluation Center only provides support for Enterprise Edition.

For Windows Desktop Professional Edition, set:

```hcl linenums="11" hl_lines="1 5"
vm_inst_os_eval = true
vm_inst_os_language = "en-US"
vm_inst_os_keyboard = "en-US"
vm_inst_os_image_pro = "Windows 10 Pro"
vm_inst_os_key_pro = <YourProductKey>
vm_inst_os_image_ent = "Windows 10 Enterprise"
vm_inst_os_key_ent = "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX"
```

0 comments on commit 111a7f3

Please sign in to comment.