Windows Remote Desktop Services (Could not find a suitable provider for dism)

2,333 views
Skip to first unread message

jim

unread,
Mar 6, 2013, 8:42:10 AM3/6/13
to puppet...@googlegroups.com
Hello all

Was wondering if someone could help or advise where i'm going wrong 

i'm trying to install Windows 2008 R2 Remote Desktop Services via Puppet using either DISM or Powershell modules from the forge and getting the same error

When using DISM


class roles::trm::remote_desktop_services {
dism { 'AppServer':
ensure => present,
}
dism { 'AppServer-UI':
ensure => present,
}
dism { 'Printing-XPSServices-Features':
ensure => present,
}
}

when this initially runs, I get pink error messages which I assume its because it requires a reboot to complete the install of this service.

Question: Best approach for rebooting host, when installing features ?

Once i've rebooted the host, and rerun the puppet agent I get the following error:

err: Could not find a suitable provider for dism

So I thought it could be the dism module doesn't support Remote Desktop Services.

then tried the Powershell Module

#exec { 'install_remote_desktop_services':
#command       => 'Import-Module ServerManager
#                  Add-WindowsFeature -Name RDS-RD-Server -Restart  | Out-File c:\Installs\Puppet_Confirmation\install_remote_desktop_services.txt',
#provider      => powershell,
#creates       => 'C:/Installs/Puppet_Confirmation/install_remote_desktop_services.txt',
#}


which installs fine and reboots the host etc, but upon running the agent again, I get the same error as above:

err: Could not find a suitable provider for dism

If anyone could help, it would be much appreciated

regards

Jim 



jim

unread,
Mar 7, 2013, 10:50:05 AM3/7/13
to puppet...@googlegroups.com
Can anyone advise on this ??

Ryan Coleman

unread,
Mar 7, 2013, 6:04:34 PM3/7/13
to puppet...@googlegroups.com

On Thu, Mar 7, 2013 at 7:50 AM, jim <str...@gmail.com> wrote:
Can anyone advise on this ??

Hmm. Do you have pluginsync set to true in puppet.conf? It's possible that the provider in the dism module is not being distributed from the master to the agent. Here's a doc on the subject if you need it. http://docs.puppetlabs.com/guides/plugins_in_modules.html

jim

unread,
Mar 11, 2013, 6:57:46 AM3/11/13
to puppet...@googlegroups.com
 Hi Ryan

I've checked my puppet.config and yes plugingsync is set to "True"

    pluginsync = true

What's weird is it works for dot.net3 / IIS installs etc, etc

Regards

Jim

GRANIER Bernard (MORPHO)

unread,
Mar 11, 2013, 7:44:42 AM3/11/13
to puppet...@googlegroups.com

Hy,

 

Is it possible to display puppet reports and inventories in Nagios console ?

 

Thanks for any information.

 

Cordialement,

 

Bernard Granier

CE Plateforme Système

bernard...@morpho.com

01 58 11 32 51

 

#
" This e-mail and any attached documents may contain confidential or proprietary information. If you are not the intended recipient, you are notified that any dissemination, copying of this e-mail and any attachments thereto or use of their contents by any means whatsoever is strictly prohibited. If you have received this e-mail in error, please advise the sender immediately and delete this e-mail and all attached documents from your computer system."
#

jim

unread,
Mar 12, 2013, 2:09:46 PM3/12/13
to puppet...@googlegroups.com, jo...@puppetlabs.com
Hello all

I think this is an actual bug with either puppet or puppet dism and not sure how to resolve this

I've installed the puppet dism module and written my manifest

class remote_desktop_services {
dism { 'AppServer':
ensure => present,
}
dism { 'AppServer-UI':
ensure => present,
}
dism { 'Printing-XPSServices-Features':
ensure => present,
}
}

upon reboot, when I re-run the puppet agent I keep getting the following error:

err: Could not find a suitable provider for dism

and keep getting this error until I remove the manifest then the puppet agent runs successfully again.

Then thought it could be the module not aware of Remote Desktop Services as a provider.

So thought i'll write a powershell script and get puppet to exec it, here is my script (its a bit dirty)


$strFileName = "c:\ProgramData\PuppetLabs\Puppet Enterprise\var\state\puppetlockd"

Import-Module Servermanager 
Add-WindowsFeature -Name RDS-RD-Server -IncludeAllSubFeature
Add-Content "c:\Installs\Puppet_Confirmation\Remote_Desktop_Services_Installed.txt" "Windows has finished installing Remote Desktop Services"
start-sleep -s 60
IF (Test-Path $strFileName){
Remove-Item $strFileName }
 
shutdown /r /t 60

After the reboot, I get the same error as above,

err: Could not find a suitable provider for dism

Was wondering if this is an error or not, but unable to install Remote Desktop Services using Puppet Enterprise / Puppet module DISM

Can you please help

Regards

Jim

Rich Siegel

unread,
Mar 12, 2013, 7:39:38 PM3/12/13
to puppet...@googlegroups.com
I believe you need to use the copy on github as there was an issue with using 32/64 dism iirc

jim

unread,
Mar 13, 2013, 7:55:16 AM3/13/13
to puppet...@googlegroups.com
Hi Rich

Thanks for the reply, i've updated the dism module from github, but that hasn't fixed the issue, as i'm still getting the same error

err: Could not find a suitable provider for dism

Can anyone out there provide an answer

Regards

Jim

Vladimir Rutsky

unread,
Mar 13, 2013, 8:08:17 AM3/13/13
to puppet...@googlegroups.com
Hello,

How you installed dism module?

I "intalled" dism by copying dism git repository contents into /etc/puppet/modules/dism/ and don't observe error that you have.

--
Vladimir Rutsky

jim

unread,
Mar 13, 2013, 8:12:39 AM3/13/13
to puppet...@googlegroups.com
The error is only happening when trying to install Remote Desktop Services (old Terminal Server), it works fine with other roles/features like IIS etc

I updated DISM from github by overwritting both lib / spec directorys

Vladimir Rutsky

unread,
Mar 13, 2013, 8:37:25 AM3/13/13
to puppet...@googlegroups.com
Can you provide complete log of running "puppet agent --test --debug" on machine where you try to install Remote Desktop Services using Puppet?



--
You received this message because you are subscribed to the Google Groups "Puppet Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to puppet-users...@googlegroups.com.
To post to this group, send email to puppet...@googlegroups.com.
Visit this group at http://groups.google.com/group/puppet-users?hl=en.
For more options, visit https://groups.google.com/groups/opt_out.
 
 

Jeff Field

unread,
Mar 13, 2013, 7:58:30 AM3/13/13
to puppet...@googlegroups.com
Could you increase the verbosity to see what is causing it to throw that error? I've seen strange dism errors related to WoW shenanigans and I'd like to see which dism it is trying to use exactly.


On Tuesday, March 12, 2013, Rich Siegel wrote:
I believe you need to use the copy on github as there was an issue with using 32/64 dism iirc

jim

unread,
Mar 13, 2013, 10:08:54 AM3/13/13
to puppet...@googlegroups.com
Hi Vladimir,

Here is the information you are after:

debug: Dism[AppServer](provider=dism): Executing 'C:\Windows\sysnative\Dism.exe
/online /Enable-Feature /FeatureName:AppServer /NoRestart'
err: /Stage[main]/Roles::Trm::Remote_desktop_services/Dism[AppServer]/ensure: ch
ange from absent to present failed: Unexpected exitcode: 194
Error:
Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Image Version: 6.1.7600.16385

Enabling feature(s)
The operation completed successfully.


debug: Dism[AppServer-UI](provider=dism): Executing 'C:\Windows\sysnative\Dism.e
xe /online /Enable-Feature /FeatureName:AppServer-UI /NoRestart'
err: /Stage[main]/Roles::Trm::Remote_desktop_services/Dism[AppServer-UI]/ensure:
 change from absent to present failed: Unexpected exitcode: 194
Error:
Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Image Version: 6.1.7600.16385

Enabling feature(s)
The operation completed successfully.


Then completes

Machine is Rebooted

Here is the logs after running puppet agent again


debug: Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sysnative\Dism.exe does not exist
debug: Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sysnative\Dism.exe does not exist
debug: Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sysnative\Dism.exe does not exist
debug: Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sysnative\Dism.exe does not exist
debug: Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sysnative\Dism.exe does not exist
notice: /Stage[main]/Roles::Base::Activate_windows_2008/Exec[apply_activate_windows_2008]: Dependency Dism[NetFx3] has failures: true
warning: /Stage[main]/Roles::Base::Activate_windows_2008/Exec[apply_activate_windows_2008]: Skipping because of failed dependencies
debug: Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sysnative\Dism.exe does not exist
err: Could not find a suitable provider for dism
debug: Finishing transaction 141366492

I hope this is what you are after

regards

James

Vladimir Rutsky

unread,
Mar 13, 2013, 10:39:00 AM3/13/13
to puppet...@googlegroups.com
James,


On Wed, Mar 13, 2013 at 6:08 PM, jim <str...@gmail.com> wrote:
Hi Vladimir,

Here is the information you are after:

debug: Dism[AppServer](provider=dism): Executing 'C:\Windows\sysnative\Dism.exe
/online /Enable-Feature /FeatureName:AppServer /NoRestart'
err: /Stage[main]/Roles::Trm::Remote_desktop_services/Dism[AppServer]/ensure: ch
ange from absent to present failed: Unexpected exitcode: 194
Error:
Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Image Version: 6.1.7600.16385

Enabling feature(s)
The operation completed successfully.


debug: Dism[AppServer-UI](provider=dism): Executing 'C:\Windows\sysnative\Dism.e
xe /online /Enable-Feature /FeatureName:AppServer-UI /NoRestart'
err: /Stage[main]/Roles::Trm::Remote_desktop_services/Dism[AppServer-UI]/ensure:
 change from absent to present failed: Unexpected exitcode: 194
Error:
Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Image Version: 6.1.7600.16385

Enabling feature(s)
The operation completed successfully.


Then completes

I run into same issue with 194 "error" code just yesterday.

Actually dism.exe returns 3010 --- "restart required" (not an error). After debugging I came into conclusion that this is Ruby bug, I reported it here: https://bugs.ruby-lang.org/issues/8083 --- Ruby handles return codes as one-byte value, but in windows it is actually 32-bit, so Ruby truncates exit code 3010 (0b00001011 11000010) to 194 (lower byte of 3010: 0b11000010).

I made pull request to dism with workaround: https://github.com/puppetlabs/puppetlabs-dism/pull/14

You can try dism with my modifications from here https://github.com/vrutsky/puppetlabs-dism or modify manifest and add 194 as ok success code:

dism { 'AppServer':
  ensure => present,
  exitcode => [0, 3010, 194],
}

 

Machine is Rebooted

Here is the logs after running puppet agent again


debug: Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sysnative\Dism.exe does not exist
debug: Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sysnative\Dism.exe does not exist
debug: Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sysnative\Dism.exe does not exist
debug: Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sysnative\Dism.exe does not exist
debug: Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sysnative\Dism.exe does not exist

This is definitely incorrect path to dism.exe (should be C:\windows\system32\dism.exe or C:\windows\sysnative\dism.exe on 64-bit)
Can you provide environment variables information? (output of "set" command in Administrator's cmd.exe).
Looks like dism module incorrectly expands WINDOWS environment variable.

jim

unread,
Mar 13, 2013, 10:42:11 AM3/13/13
to puppet...@googlegroups.com
Hi Vladimir,

I've also tried this approach


exec {'dism':
command => 'c:\windows\sysnative\dism.exe /online /enable-feature /featurename:RDS-RD-Server',
logoutput=> true,
}


Here is the errors i'm getting:

Exec[dism]/returns: Deployment Image Servicing and Management tool
Exec[dism]/returns: Version: 6.1.7600.16385
Exec[dism]/returns: Image Version: 6.1.7600.16385
Exec[dism]/returns: Error: 0x800f080c
Exec[dism]/returns: Feature name RDS-RD-Server is unknown.
Exec[dism]/returns: A Windows feature name was not recognized.
Exec[dism]/returns: Use the /Get-Features option to find the name of the feature in the image and try the command again.
Exec[dism]/returns: The DISM log file can be found at C:\Windows\Logs\DISM\dism.log
err: /Stage[main]/Exec[dism]/returns: change from notrun to 0 failed: c:\windows\sysnative\dism.exe /online /enable-feature/featurename:RDS-RD-Server returned 12 instead of one of [0] at /etc/puppetlabs/puppet/modules/roles/manifests/trm/remote_desktop_services.pp:12


Regards

James

Vladimir Rutsky

unread,
Mar 13, 2013, 11:06:18 AM3/13/13
to puppet...@googlegroups.com
James,


On Wed, Mar 13, 2013 at 6:42 PM, jim <str...@gmail.com> wrote:
Hi Vladimir,

I've also tried this approach


exec {'dism':
command => 'c:\windows\sysnative\dism.exe /online /enable-feature /featurename:RDS-RD-Server',
logoutput=> true,
}


Here is the errors i'm getting:

Exec[dism]/returns: Deployment Image Servicing and Management tool
Exec[dism]/returns: Version: 6.1.7600.16385
Exec[dism]/returns: Image Version: 6.1.7600.16385
Exec[dism]/returns: Error: 0x800f080c
Exec[dism]/returns: Feature name RDS-RD-Server is unknown.
Exec[dism]/returns: A Windows feature name was not recognized.
Exec[dism]/returns: Use the /Get-Features option to find the name of the feature in the image and try the command again.
Exec[dism]/returns: The DISM log file can be found at C:\Windows\Logs\DISM\dism.log
err: /Stage[main]/Exec[dism]/returns: change from notrun to 0 failed: c:\windows\sysnative\dism.exe /online /enable-feature/featurename:RDS-RD-Server returned 12 instead of one of [0] at /etc/puppetlabs/puppet/modules/roles/manifests/trm/remote_desktop_services.pp:12

Looks like you don't have "RDS-RD-Server" feature in your system (I don't have this feature in Windows 7 too).
Puppet dism modules wraps

  c:\windows\sysnative\dism.exe /online /enable-feature/featurename:RDS-RD-Server

command. Are you sure this works in administrative cmd.exe?

  c:\windows\sysnative\dism.exe /online /enable-feature/featurename:RDS-RD-Server /NoRestart

jim

unread,
Mar 13, 2013, 11:26:22 AM3/13/13
to puppet...@googlegroups.com
Hi Vladimir

Sorry

If you use powershell and import servermanager the feature is called RDS-Server, if you use DISM its called APPServer

regards

James

jim

unread,
Mar 13, 2013, 11:51:07 AM3/13/13
to puppet...@googlegroups.com
I update my DISM module with your changes and added this to my manifest

dism { 'AppServer':
ensure      => present,
exitcode    => [0, 3010, 194],
}


Here is my SET information:

C:\Users\Administrator>set
ALLUSERSPROFILE=C:\ProgramData
APPDATA=C:\Users\Administrator\AppData\Roaming
CLIENTNAME=UKLSQL0156
CommonProgramFiles=C:\Program Files\Common Files
CommonProgramFiles(x86)=C:\Program Files (x86)\Common Files
CommonProgramW6432=C:\Program Files\Common Files
COMPUTERNAME=TMS-A-TRM-01P
ComSpec=C:\Windows\system32\cmd.exe
FP_NO_HOST_CHECK=NO
HOMEDRIVE=C:
HOMEPATH=\Users\Administrator
LOCALAPPDATA=C:\Users\Administrator\AppData\Local
LOGONSERVER=\\TMS-A-TRM-01P
NUMBER_OF_PROCESSORS=2
OS=Windows_NT
Path=C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32
\WindowsPowerShell\v1.0\
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
PROCESSOR_ARCHITECTURE=AMD64
PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 44 Stepping 2, GenuineIntel
PROCESSOR_LEVEL=6
PROCESSOR_REVISION=2c02
ProgramData=C:\ProgramData
ProgramFiles=C:\Program Files
ProgramFiles(x86)=C:\Program Files (x86)
ProgramW6432=C:\Program Files
PROMPT=$P$G
PSModulePath=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\
PUBLIC=C:\Users\Public
SESSIONNAME=RDP-Tcp#0
SystemDrive=C:
SystemRoot=C:\Windows
TEMP=C:\Users\ADMINI~1\AppData\Local\Temp\2
TMP=C:\Users\ADMINI~1\AppData\Local\Temp\2
USERDOMAIN=TMS-A-TRM-01P
USERNAME=Administrator
USERPROFILE=C:\Users\Administrator
windir=C:\Windows
windows_tracing_flags=3
windows_tracing_logfile=C:\BVTBin\Tests\installpackage\csilogfile.log


I re-cloned a pc and run a fresh puppet run, and still getting this error on initial run:

ebug: Dism[AppServer](provider=dism): Executing 'C:\Windows\sysnative\Dism.exe
/online /Enable-Feature /FeatureName:AppServer /NoRestart'
err: /Stage[main]/Roles::Trm::Remote_desktop_services/Dism[AppServer]/ensure: ch
ange from absent to present failed: Unexpected exitcode: 194
Error:
Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Image Version: 6.1.7600.16385

Enabling feature(s)
The operation completed successfully.


debug: Dism[AppServer-UI](provider=dism): Executing 'C:\Windows\sysnative\Dism.e
xe /online /Enable-Feature /FeatureName:AppServer-UI /NoRestart'
err: /Stage[main]/Roles::Trm::Remote_desktop_services/Dism[AppServer-UI]/ensure:
 change from absent to present failed: Unexpected exitcode: 194
Error:
Deployment Image Servicing and Management tool
Version: 6.1.7600.16385

Image Version: 6.1.7600.16385

Enabling feature(s)
The operation completed successfully.



Also after the reboot - I still get the following:

debug: Class[Roles::Base::Powershell_remoting]: The container Stage[main] will p
ropagate my refresh event
debug: file_metadata supports formats: b64_zlib_yaml pson raw yaml; using pson
debug: file_metadata supports formats: b64_zlib_yaml pson raw yaml; using pson
debug: Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sys
native\Dism.exe does not exist
debug: Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sys
native\Dism.exe does not exist
debug: Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sys
native\Dism.exe does not exist
debug: Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sys
native\Dism.exe does not exist
debug: Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sys
native\Dism.exe does not exist
notice: /Stage[main]/Roles::Base::Activate_windows_2008/Exec[apply_activate_wind
ows_2008]: Dependency Dism[NetFx3] has failures: true
warning: /Stage[main]/Roles::Base::Activate_windows_2008/Exec[apply_activate_win
dows_2008]: Skipping because of failed dependencies
debug: Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sys
native\Dism.exe does not exist
err: Could not find a suitable provider for dism

So i'm a bit confused

regards

James

jim

unread,
Mar 13, 2013, 12:00:48 PM3/13/13
to puppet...@googlegroups.com
Hi Vladimir


This error:

Puppet::Type::Dism::ProviderDism: file C:\Users\Administrator\WINDOWS\sysnative\Dism.exe does not exist

Just thought 

this part of the error

C:\Users\Administrator

It looks like its picking up the %userprofile% and appending to the environment part in dism module


USERPROFILE=C:\Users\Administrator

  if Puppet.features.microsoft_windows?
    if ENV.has_key?('ProgramFiles(x86)')
      commands :dism => "#{Dir::WINDOWS}\\sysnative\\Dism.exe"
    else
      commands :dism => "#{Dir::WINDOWS}\\system32\\Dism.exe"
    end
  end

if that make sense

jim

unread,
Mar 14, 2013, 5:44:24 AM3/14/13
to puppet...@googlegroups.com
Good Morning Vladimir

I think discovered what the problem is but not an experienced coder to be able to change the code to reflect my discovery.

Now the issue only happens when installing Remote Desktop Services, either by DISM or powershell, I finally worked ou,t that when the host reboots, it boots into a Terminal Server mode and doesn't allow "user" e.g. puppet agent to install anything via dism!

because the host is in terminal server mode, you need to run the following commands before and after dism for it to work.

change user /install
run puppet (works fine no error)

i've run puppet multiple times and no error, no trying to reinstall Remote Desktop Services - works fine

as soon as you run this command to close "install mode"

change user /execute

we start getting the error again

Could not find a suitable provider for dism

so Vladimir, what I think need to happen within the dism code 

when running dism, if feature equals "AppServer" run this command before 
change user /install
run dism part
then change mode back to execute
change user /execute
complete successful

Hope this make sense, and is possible

Kind Regards

Jim




On Wednesday, 13 March 2013 15:06:18 UTC, Vladimir Rutsky wrote:

Vladimir Rutsky

unread,
Mar 14, 2013, 9:32:43 AM3/14/13
to puppet...@googlegroups.com
Hello, James!

I tested and looks like exitcode parameter doesn't work in DISM, sorry for not working example. I filled bug about this into DISM bug tracker on github: https://github.com/puppetlabs/puppetlabs-dism/issues/15 and commited fix for this issue in my master branch of DISM fork.

I recommend you to get version from there: https://github.com/vrutsky/puppetlabs-dism , this should fix issue with first error "Unexpected exitcode: 194".

Source of second issue, "C:\Users\Administrator\WINDOWS\sysnative\Dism.exe does not exist, not clear to me.

--
Vladimir Rutsky


jim

unread,
Mar 14, 2013, 10:08:01 AM3/14/13
to puppet...@googlegroups.com
Hiya Vladimir

I think the issue is, if we remove Puppet and DISM and go back to Windows Remote Desktop Services, also known as Terminal Server.

When you install this feature, it requires a reboot for this feature to take effect

when the host comes back online, its a fully functioning RDS / Terminal Server

If you want to install software, you have to run this command first

change user /install
Then install software
revert back
change user /execute

Now add puppet / DISM module onto this, it will look like this

Server running puppet agent
install feature APPServer using DISM module
reboot host
hosts comes back online a functioning RDS / Terminal Server
try to run puppet agent again
Problem --------
Due to RDS / Terminal Server still running in execute mode
Puppet Run will fail.

(this is an assumption, RDS / Terminal Server running in execute mode when applying ruby syntax for environment variables e..g 
commands :dism => "#{Dir::WINDOWS}\\sysnative\\Dism.exe"
will default to %userprofile% path thus "C:\Users\Administrator\WINDOWS\sysnative\Dism.exe"

Now if the DISM module, could do the following, it would work for RDS / Terminal Server:

Server running puppet agent
install feature APPServer using DISM module
reboot host
hosts comes back online a functioning RDS / Terminal Server
run puppet agent again, if feature equals "RDS / Terminal Server"
execute "change user / install" mode
run dism module
execute "change user /execute" mode
Puppet Run will run successfully


hope this make sense

regards

Jim

Vladimir Rutsky

unread,
Mar 15, 2013, 2:51:44 AM3/15/13
to puppet...@googlegroups.com
Hello, James!

I'm glad to see that you find source of problems with Terminal Server installation automation!
I'm not familiar with Terminal Server and how it works so I'm not sure how to deal with your situation correctly. I think running "change user / install" in dism Puppet module is bad idea, most probably Terminal Server breaks other Puppet modules too. Maybe you should run whole puppet client in this "change user / install" mode?

Do you resolved "error code 194" problem? I'm quite sure that my fixes should help.


Best wishes,

Vladimir Rutsky

Jared Haight

unread,
Mar 19, 2014, 1:49:53 PM3/19/14
to puppet...@googlegroups.com, rutsky....@gmail.com
I know it's bad form to reply to a thread that's a year old, but this is the top hit on Google for this issue, so I figured I'd share what I found. 

You can force ruby to run in a Terminal Server compatibility mode by adding the regkey detailed here: http://support.microsoft.com/kb/186515. This will prevent Windows from changing paths from what Puppet is expecting. 

If that doesn't work for your environment, you can have puppet run "C:\Windows\System32\change.exe user /install", before running on the server and "change user /execute" afterwards. This may be the best option as it will follow best practices if you need to install software on the server during a puppet run.

Hope that's helpful to someone!

Jared

itzom...@gmail.com

unread,
Nov 24, 2014, 10:23:41 AM11/24/14
to puppet...@googlegroups.com
Dism command line is excellent. But if you want to simplify your experience with the command line, I would suggest DISM GUI, it's a GUI that invokes DISM.exe. Even though the syntax is straight forward this is a huge help. I use it at work to manage an enterprise image and it simply saves me time. Deduction and intuitiveness of the tool (uses DISM.exe) but simply has a GUI so your not sure if the syntax is correct. This is a must have tool and thank you to whoever made it.

You can get it here: https://dismgui.codeplex.com/

I know this is an old post, i'm just trying to help people. It's my specialty. 

-ITzombieguy

Felix Frank

unread,
Nov 24, 2014, 5:59:47 PM11/24/14
to puppet...@googlegroups.com
On 11/24/2014 04:23 PM, itzom...@gmail.com wrote:
>
> Here is how to use it: https://www.youtube.com/watch?v=LGhaiv7qA_8
> You can get it here: https://dismgui.codeplex.com/
>
> I know this is an old post, i'm just trying to help people. It's my
> specialty.

That's cool, thanks for sharing.

Please note, though, that GUIs are generally not a viable alternative in
a Puppet based automation context.

Cheers,
Felix

mike r

unread,
Apr 7, 2016, 2:16:20 PM4/7/16
to Puppet Users
I had the same error trying to run DISM module on a Win2008 box, then I realized win2008 doesnt have dism, only 2008 R2.

module is not compatible with target OS
Reply all
Reply to author
Forward
0 new messages