Downloads:

156

Downloads of v 3.7.2.5:

121

Last Update:

13 Jun 2022

Package Maintainer(s):

Software Author(s):

  • Western Digital Corporation

Tags:

western-digital sandisk dashboard hdd ssd dock nvme pcie usb thunderbolt trim firmware smart rgb freeware

Western Digital Dashboard

  • 1
  • 2
  • 3

3.7.2.5 | Updated: 13 Jun 2022

Downloads:

156

Downloads of v 3.7.2.5:

121

Maintainer(s):

Software Author(s):

  • Western Digital Corporation

  • 1
  • 2
  • 3
Western Digital Dashboard 3.7.2.5

  • 1
  • 2
  • 3

All Checks are Passing

3 Passing Tests


Validation Testing Passed


Verification Testing Passed

Details

Scan Testing Successful:

No detections found in any package files

Details
Learn More

Deployment Method: Individual Install, Upgrade, & Uninstall

To install Western Digital Dashboard, run the following command from the command line or from PowerShell:

>

To upgrade Western Digital Dashboard, run the following command from the command line or from PowerShell:

>

To uninstall Western Digital Dashboard, run the following command from the command line or from PowerShell:

>

Deployment Method:

📝 NOTE: This applies to both open source and commercial editions of Chocolatey.

1. Enter Your Internal Repository Url

(this should look similar to https://community.chocolatey.org/api/v2/)


2. Setup Your Environment

1. Ensure you are set for organizational deployment

Please see the organizational deployment guide

2. Get the package into your environment

  • Open Source or Commercial:
    • Proxy Repository - Create a proxy nuget repository on Nexus, Artifactory Pro, or a proxy Chocolatey repository on ProGet. Point your upstream to https://community.chocolatey.org/api/v2/. Packages cache on first access automatically. Make sure your choco clients are using your proxy repository as a source and NOT the default community repository. See source command for more information.
    • You can also just download the package and push it to a repository Download

3. Copy Your Script

choco upgrade wd-dashboard -y --source="'INTERNAL REPO URL'" [other options]

See options you can pass to upgrade.

See best practices for scripting.

Add this to a PowerShell script or use a Batch script with tools and in places where you are calling directly to Chocolatey. If you are integrating, keep in mind enhanced exit codes.

If you do use a PowerShell script, use the following to ensure bad exit codes are shown as failures:


choco upgrade wd-dashboard -y --source="'INTERNAL REPO URL'" 
$exitCode = $LASTEXITCODE

Write-Verbose "Exit code was $exitCode"
$validExitCodes = @(0, 1605, 1614, 1641, 3010)
if ($validExitCodes -contains $exitCode) {
  Exit 0
}

Exit $exitCode

- name: Install wd-dashboard
  win_chocolatey:
    name: wd-dashboard
    version: '3.7.2.5'
    source: INTERNAL REPO URL
    state: present

See docs at https://docs.ansible.com/ansible/latest/modules/win_chocolatey_module.html.


chocolatey_package 'wd-dashboard' do
  action    :install
  source   'INTERNAL REPO URL'
  version  '3.7.2.5'
end

See docs at https://docs.chef.io/resource_chocolatey_package.html.


cChocoPackageInstaller wd-dashboard
{
    Name     = "wd-dashboard"
    Version  = "3.7.2.5"
    Source   = "INTERNAL REPO URL"
}

Requires cChoco DSC Resource. See docs at https://github.com/chocolatey/cChoco.


package { 'wd-dashboard':
  ensure   => '3.7.2.5',
  provider => 'chocolatey',
  source   => 'INTERNAL REPO URL',
}

Requires Puppet Chocolatey Provider module. See docs at https://forge.puppet.com/puppetlabs/chocolatey.


4. If applicable - Chocolatey configuration/installation

See infrastructure management matrix for Chocolatey configuration elements and examples.

This package was approved by moderator TheCakeIsNaOH on 13 Jun 2022.

Description


choco://wd-dashboard

To use choco:// protocol URLs, install (unofficial) choco:// Protocol support


The Western Digital Dashboard helps users maintain peak performance of Western Digital drives in Windows® operating systems with a user-friendly graphical interface. The Western Digital Dashboard includes tools for analysis of the disk (including the disk model, capacity, firmware version, and SMART attributes) and firmware updates.

Enhance your gaming station with fully customizable RGB lighting on supported WD_BLACK products, designed to match your style with various colors and thirteen different LED pattern effects to choose from. Or, seamlessly integrate with your existing ASUS Aura Sync on Armoury Crate, GIGABYTE RGB Fusion 2.0, MSI Mystic Light, or Razer Chroma™ RGB ecosystem.

Dashboard Screenshot

Package Parameters

  • /language:UI_STRING_OR_LANGUAGE_TAG - Overrides the default language configuration.

    Supported languages include:

    UI String Language Tag Language Name
    Čeština cs-CZ Czech
    Dansk da-DK Danish
    Deutsch de-DE German
    English en-US English
    Español es-ES Spanish
    Françias fr-FR French
    Italiano it-IT Italian
    日本語 ja-JP Japanese
    한국어 ko-KR Korean
    Nederlands nl-NL Dutch
    Polski pl-PL Polish
    Português pt-PT Portuguese
    Pусский ru-RU Russian
    Svenska sv-SE Swedish
    Türkçe tr-TR Turkish
    简体中文 zh-CN Simplified Chinese
    繁體中文 zh-TW Traditional Chinese
  • /start - Automatically start Dashboard after the installation completes.

Examples

choco install wd-dashboard --params "/language:Español"
choco install wd-dashboard --params "/language:fr-FR"
choco install wd-dashboard --params "/start"
choco install wd-dashboard --params "/language:Deutsch /start"

Package Notes

Western Digital does not provide a versioned download URL. This means the installer binary's checksum will periodically change, and a newly released software version will break this package version. Consequently, older package versions should generally be considered obsolete and unsupported.

Consider internalizing this package if you require a stable binary, or the ability to install this specific version after a new version is released.


For future upgrade operations, consider opting into Chocolatey's useRememberedArgumentsForUpgrades feature to avoid having to pass the same arguments with each upgrade:

choco feature enable -n=useRememberedArgumentsForUpgrades

tools\.skipAutoUninstall
 
tools\chocolateyinstall.ps1
$ErrorActionPreference = 'Stop'

$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
. $toolsDir\helpers.ps1

$softwareName = 'Dashboard'
$softwareVersion = '3.7.2.5'
$shouldInstall = Get-ShouldInstall -Version $softwareVersion

if (!$shouldInstall -and !$env:ChocolateyForce)
{
  Write-Output "$softwareName v$softwareVersion is already installed."
  Write-Output "Skipping download and execution of installer."
}
else
{
  $installedVersion = Get-CurrentVersion
  if ($null -ne $installedVersion)
  {
    Write-Output "Current installed version (v$installedVersion) must be uninstalled first..."
    Uninstall-CurrentVersion
  }

  $pp = Get-PackageParameters
  if ($pp.Language)
  {
    Set-LanguageConfiguration -Language $pp.Language
  }

  $packageArgs = @{
    packageName   = $env:ChocolateyPackageName
    fileType      = 'EXE'
    url           = 'https://wddashboarddownloads.wdc.com/wdDashboard/DashboardSetupSA.exe'
    softwareName  = $softwareName
    checksum      = '197deece07f2ae04d65eb19bc61390896695ad848a0bdfa06bb1e8a6abb52493'
    checksumType  = 'sha256'
    silentArgs    = '-silent'
    validExitCodes= @(0)
  }

  Install-ChocolateyPackage @packageArgs

  if ($pp.Start)
  {
    $installPath = Get-InstallPath
    if ($null -eq $installPath)
    {
      Write-Warning "Cannot find install path - will not try to start $softwareName"
    }
    else
    {
      try
      {
        $exePath = Join-Path -Path $installPath -ChildPath "$softwareName.exe"
        Start-Process -FilePath $exePath -ErrorAction Continue
      }
      catch
      {
        Write-Warning "$softwareName failed to start, please try to manually start it instead."
      }
    }
  }
}
tools\chocolateyuninstall.ps1
$ErrorActionPreference = 'Stop'

$toolsDir = "$(Split-Path -parent $MyInvocation.MyCommand.Definition)"
. $toolsDir\helpers.ps1

Uninstall-CurrentVersion
tools\helpers.ps1
if ((Get-OSArchitectureWidth -Compare 64))
{
    $registrySubkey = 'HKLM:\SOFTWARE\WOW6432Node\Western Digital\SSD Dashboard'
}
else
{
    $registrySubkey = 'HKLM:\SOFTWARE\Western Digital\SSD Dashboard'
}

function Get-InstallPath()
{
    return Get-RegistryValue -ValueName 'InstallPath'
}

function Get-RegistryValue()
{
    param (
        [Parameter(Mandatory = $true)]
        [string] $ValueName
    )

    if (Test-Path -Path $registrySubkey)
    {
        if ((Get-ItemProperty $registrySubkey).PSObject.Properties.Name -contains $ValueName)
        {
            return (Get-ItemProperty -Path $registrySubkey -Name $ValueName).$ValueName
        }
    }
  
    return $null
}

function Set-LanguageConfiguration()
{
    param (
        [Parameter(Mandatory = $true)]
        [string] $Language
    )

    $supportedLanguages = @{
        Čeština = 'cs-CZ'
        Dansk = 'da-DK'
        Deutsch = 'de-DE'
        English = 'en-US'
        Español = 'es-ES'
        Françias = 'fr-FR'
        Italiano = 'it-IT'
        日本語 = 'ja-JP'
        한국어 = 'ko-KR'
        Nederlands = 'nl-NL'
        Polski = 'pl-PL'
        Português = 'pt-PT'
        Pусский = 'ru-RU'
        Svenska = 'sv-SE'
        Türkçe = 'tr-TR'
        简体中文 = 'zh-CN'
        繁體中文 = 'zh-TW'
    }

    if ($supportedLanguages.ContainsKey($Language))
    {
        #Map to underlying locale for backward compatibility with passing UI string selection
        $localeString = $supportedLanguages[$Language]
    }
    elseif ($supportedLanguages.ContainsValue($Language))
    {
        $localeString = $Language
    }
    else
    {
        throw "`"$Language`" is not a supported language configuration!"
    }

    if (!(Test-Path -Path $registrySubkey))
    {
        New-Item -Path $registrySubkey -Force | Out-Null
    }

    New-ItemProperty -Name 'CurrentCulture' -Path $registrySubkey -PropertyType String -Value $localeString -Force | Out-Null
}

function Get-ShouldInstall()
{
    param (
        [Parameter(Mandatory = $true)]
        [string] $version
    )
  
    if (Test-Path -Path $registrySubkey)
    {
        if (((Get-ItemProperty $registrySubkey).PSObject.Properties.Name -contains 'IsInstalled') -and `
            ((Get-CurrentVersion) -eq $version))
        {
            return $false
        }
    }
  
    return $true
}

function Get-CurrentVersion()
{
    return Get-RegistryValue -ValueName 'CurrentVersion'
}

function Uninstall-CurrentVersion()
{
    $packageArgs = @{
        packageName   = $env:ChocolateyPackageName
        softwareName  = 'Dashboard'
        fileType      = 'EXE'
        silentArgs    = '-uninstall'
        validExitCodes= @(0)
    }

    [array] $keys = Get-UninstallRegistryKey -SoftwareName $packageArgs['softwareName']

    if ($keys.Count -eq 1)
    {
        $sanitizedUninstallString = $keys[0].UninstallString.TrimEnd(' -uninstall')

        #When started from Program Files, the binary shells itself out to TEMP,
        #spawns a new process, then terminates. Kick off the shell operation first.
        Start-ChocolateyProcessAsAdmin -ExeToRun $sanitizedUninstallString

        $processName = [System.IO.Path]::GetFileNameWithoutExtension($sanitizedUninstallString)

        $tempProcess = Get-Process -Name $processName

        #Grab the temp copy's path, kill it, then restart it from Chocolatey
        $tempProcessInfo = Get-Process -Id $tempProcess.Id -FileVersionInfo
        $filePath = $tempProcessInfo.FileName
        $packageArgs['file'] = $filePath

        Stop-Process -InputObject $tempProcess -Force
        
        $installedVersion = Get-CurrentVersion
        if ([Version] $installedVersion -lt [Version] '3.7.2.4')
        {
            #Dashboard did not support a silent (un)install for this version.
            #Script an unattended uninstall with AutoHotkey.
            $ahkScriptPath = Join-Path -Path $toolsDir -ChildPath 'uninstall.ahk'
            Start-Process -FilePath 'AutoHotKey.exe' -ArgumentList $ahkScriptPath
        }
        else
        {
            $packageArgs['silentArgs'] += ' -silent'
        }

        Uninstall-ChocolateyPackage @packageArgs

        #Clean up the temp file copy to prevent disk bloat
        Remove-Item -Path $filePath -Force -ErrorAction SilentlyContinue
    }
    elseif ($keys.Count -eq 0)
    {
        Write-Warning "$packageName has already been uninstalled by other means."
    }
    elseif ($keys.Count -gt 1)
    {
        Write-Warning "$($keys.Count) matches found!"
        Write-Warning "To prevent accidental data loss, no programs will be uninstalled."
        Write-Warning "Please alert package maintainer the following keys were matched:"
        $key | ForEach-Object {Write-Warning "- $($_.DisplayName)"}
    }
}
tools\uninstall.ahk
#NoEnv
#NoTrayIcon
DetectHiddenWindows, off
SetWinDelay, 100
SetTitleMatchMode, 3 ;Exact
SetControlDelay, -1
DetectHiddenText, off
SendMode Input

WindowTitleText = Dashboard Installer ;Title text should not change, regardless of language selection
WindowClass = TESTSETUP
WindowTitle = %WindowTitleText% ahk_class %WindowClass%

WinWait, %WindowTitle%
WinMinimize, %WindowTitle%

UninstallButton = Button1
ControlClick, %UninstallButton%, %WindowTitle%,,,, NA

FinishButton = Button1
IsFinished = 0
while (IsFinished = 0)
{
    Sleep 250
    ControlGet, IsFinished, Visible,, %FinishButton%, %WindowTitle%
}

WinWait, %WindowTitle%
ControlClick, %FinishButton%, %WindowTitle%,,,, NA
ExitApp

Log in or click on link to see number of positives.

In cases where actual malware is found, the packages are subject to removal. Software sometimes has false positives. Moderators do not necessarily validate the safety of the underlying software, only that a package retrieves software from the official distribution point and/or validate embedded software against official distribution point (where distribution rights allow redistribution).

Chocolatey Pro provides runtime protection from possible malware.

Add to Builder Version Downloads Last Updated Status

Discussion for the Western Digital Dashboard Package

Ground Rules:

  • This discussion is only about Western Digital Dashboard and the Western Digital Dashboard package. If you have feedback for Chocolatey, please contact the Google Group.
  • This discussion will carry over multiple versions. If you have a comment about a particular version, please note that in your comments.
  • The maintainers of this Chocolatey Package will be notified about new comments that are posted to this Disqus thread, however, it is NOT a guarantee that you will get a response. If you do not hear back from the maintainers after posting a message below, please follow up by using the link on the left side of this page or follow this link to contact maintainers. If you still hear nothing back, please follow the package triage process.
  • Tell us what you love about the package or Western Digital Dashboard, or tell us what needs improvement.
  • Share your experiences with the package, or extra configuration or gotchas that you've found.
  • If you use a url, the comment will be flagged for moderation until you've been whitelisted. Disqus moderated comments are approved on a weekly schedule if not sooner. It could take between 1-5 days for your comment to show up.
comments powered by Disqus