2017-08-19 25 views
0

我創建了一個類型和提供程序來檢查程序是否已安裝,如果不是,則運行msiexec。我在運行代理時的輸出顯示程序爲'ensure = absent',但它不啓動msi安裝。任何人都可以看到我的代碼有什麼問題嗎?自定義提供程序不會運行msiexec

事件查看器不顯示MSI安裝運行

我的自定義類型:

Puppet::Type.newtype(:custom) do 
    @doc = "Custom type" 
    ensurable 

    newparam(:name) do 
    desc "name of program." 
    end 

    newparam(:source) do 
    desc "The full path to the file." 
    end 
end 

我的供應商:

Puppet::Type.type(:custom).provide(:win) do 
    desc "." 

    def create 
    exec "msiexec.exe /i " + @resource[:source] + " /quiet" 
    end 

    def destroy 
    end 

    def exists? 
    begin 
     exec "puppet resource package " + @resource[:name] 
    rescue Puppet::ExecutionFailure => e 
     false 
    end 
    end 
end 

我的清單

class mod {  
    custom { 'AppNameHere': 
    ensure => present, 
    source => 'Q:\\app.msi', 
    } 
} 
+1

此資源的相關代理程序調試輸出是什麼? –

回答

0

傀儡在Windows上,這裏沒有外殼。您需要提供完整路徑(絕對路徑)。

相關問題