Skip to content

Commit

Permalink
Merge pull request #45 from MichiganTechIT/release-2.7.0.0
Browse files Browse the repository at this point in the history
Updated to 2.7.0.0
  • Loading branch information
djewan1 authored Aug 6, 2024
2 parents 10c4fd2 + 71cecf2 commit a0591da
Show file tree
Hide file tree
Showing 10 changed files with 42 additions and 232 deletions.
Empty file added Windows/Files/.gitkeep
Empty file.
4 changes: 0 additions & 4 deletions Windows/Files/Drivers/.gitignore
Original file line number Diff line number Diff line change
@@ -1,6 +1,2 @@
# Ignore everything
*

# Track these files
!*.zip
!.gitignore
Binary file not shown.
Binary file not shown.
Binary file removed Windows/Files/PaperCut.zip
Binary file not shown.
Binary file removed Windows/Files/XrxSetup_8.110.9.0_x64.msi
Binary file not shown.
215 changes: 1 addition & 214 deletions Windows/SupportFiles/config.properties
Original file line number Diff line number Diff line change
@@ -1,217 +1,4 @@
#Bootstrap configuration information
#Thu Jun 29 10:33:42 EDT 2017
server-ip=10.1.5.249
server-port=9191
server-name=node1249

################################################################################
# The optional settings below can be enabled by removing the # from the start #
# of the relevant line. These options can also be specified on the command #
# line. Any command line options set will override the values set here. #
################################################################################

# When enabled, debugging information is written to user-client.log
#
#debug=Y

# The silent option tells the client not to report errors if it has problems
# connecting to the server. If the server is unavailable at time of startup
# (e.g. the client is not connected to the network), or if the user does not
# currently exist in the database, the client will simply sleep waiting for the
# condition to change.
#
silent=Y

# The minimized option tells the client to start minimized. On Windows, the
# client will be minimized to the task tray.
#
minimized=Y

# Configure the client to never display the "confirm identity" dialog if the
# user account does not in the database.
#
#neverrequestidentity=Y

# The noquit option stops the user from closing/quitting the client.
# (Windows only)
#
# Apple Mac: Use a Login Hook to stop users exiting the client. See 'Services
# for Users -> User Client Deployment' in the manual for more information.
#
#noquit=Y

# The "disabletasktrayicon" option instructs the client to not use the system
# task tray. This has two effects:
# 1. It prevents the client from minimizing to the tray.
# 2. Messages are displayed as standard dialog boxes rather than as task
# tray notifications.

# The "hide-balance" option instructs the client to hide the balance display.
#
# On Windows the balance window is not displayed. On other platforms the
# the balance is hidden from the balance window.
#
#hide-balance=Y

# Disabling task tray support may be useful if the task tray has been removed
# for security reasons using Group Policy Editor.
#
# This is a Windows-only option.
#
#disabletasktrayicon=Y

# The "disable-balloon-tips" option instructs the client to display
# messages in dialog boxes rather than notification area balloon tips.
#
# This may be required to display notifications successfully if balloon tips
# have been disabled in Windows.
#
# This is a Windows-only option.
#
#disable-balloon-tips=Y

# The user option allows the client to be run using a different username.
#
# This can be useful if the user is logged into a machine with a different
# username than he or she is authenticated to the server/printers as. For
# example, if a user is using a laptop that is not a part of the domain.
#
#user=guest

# Specify where the client window should appear. The valid options include
# top-left, top-right, bottom-left or bottom-right.
#
# In addition to the above set of fixed positions, co-ordinates of the window
# can also be specified by setting the <position> parameter to XY<x>,<y>. The
# <x> value sets the x co-ordinate of the window (if negative the value
# indicates the distance from the right of screen). The <y> value sets the y
# co-ordinate of the window (if negative the value indicates the distance from
# the bottom of screen). Some examples include:
#
# Position the window 100 pixels from the left and 100 pixels from the top of
# the screen.
#windowposition=XY100,100
# Position the window 50 pixels from the right and 50 pixels from the top of the
# screen.
#windowposition=XY-50,100
# Position the window 50 pixels from the left and 100 pixels from the bottom of
# the screen.
#windowposition=XY50,-100
# Position the window in the top left of screen.
#windowposition=top-left

# Allows the window title to be customized. If the title includes {0} then
# this will be replaced by the user's username.
#
#windowtitle=Balance for {0}

# Specify the colors used in the client. The colors are coded in standard
# hexadecimal RGB ("web colors", see http://en.wikipedia.org/wiki/Web_colors
# for an explanation).
#
#background-color=FFFFC0
#text-color=000000
#link-color=808080
#link-hover-color=055D31

# Control which option is selected by default on the account selection popup.
# This option can be used to save mouse clicks / keyboard presses by setting the
# default selected option to the one that is most commonly used.
#
# Options include:
# charge-personal - The "Charge to my personal account" option is selected.
# charge-account-list - The "Charge to shared account" option is selected.
# charge-account-pin - The "Charge to shared account using PIN / Code"
# option is selected.
# print-as-user - The "Perform print as user" option is selected.
#
# Default (when option is disabled): charge-personal
# Example: charge-account-list
#
#default-selection=charge-account-list

# Specify the default selected account on the account selection popup.
# Usually used in conjunction with default-selection=charge-account-list.
# Use '\\' to separate parent and sub account.
#
# Example: sales\\invoices
#
#default-account=

# Specify the default account pin entered on the account selection popup.
# Usually used in conjunction with default-selection=charge-account-pin.
# - left blank it will ensure that the account pin field on the account
# selection popup will be blank on every popup
# - if not specified/commented out the account pin field will show the
# account pin remembered from the previous popup
#
# Example: default-account-pin=1122
#
#default-account-pin=

# Authentication time-to-live options that override settings from server
# Time-to-live values in minutes (Comma separated)
#auth-ttl-values=1,5,15,30,60,-1
#
#auth-ttl-default=5

# The "disable-gui-effects" option instructs the client to turn off
# some of the advanced GUI effects such as transparent windows and
# fading images. This may improve performance on very old systems.
#
#disable-gui-effects=Y

# The "lockdir" option defines the directory where the client lock
# file is created. The lock file is used by the client to ensure that
# each user only runs the client once. The lock files are usually stored
# in the user's home directory with file names matching the format:
# .uc-<hash>.<username>.<workstation>.tmp
#
# NOTE: User '\\' for path separators on Windows
#
# Example: lockdir=C:\\temp\\
#
#lockdir=

# The "disable-auth-by-id-number" option may be specified to revert the
# authentication method to user/password instead of ID Number.
#
#disable-auth-by-id-number=Y

# The "use-strict-ssl-verification" is used to enable strict checking of SSL
# certificates used to connect to the application server. This includes both
# hostname and certificate authority trusts.
#
# If enabling this option you MUST have an officially signed certificate
# installed on the application server, and use the server's DNS name in both
# the "server-ip" and "server-name" settings.
#
#use-strict-ssl-verification=Y

# The following options define the text to display in client windows. These
# can be useful if you wish to customize the text to suit your environment.
#
#account-from-list-allocate-text=Allocate to shared account
#account-from-list-text=Charge to shared account
#account-pin-text=PIN / Code
#account-with-pin-allocate-text=Allocate to shared account using PIN / Code
#account-with-pin-text=Charge to shared account using PIN / Code
#auth-description-text=Your login credentials are required for printer access.
#auth-login-text=Login
#auth-password-text=Password:
#auth-username-text=Username:
#auth-pin-text=PIN:
#auth-id-number-text=ID Number:
#identity-description-text=Your login credentials are required for printer access.
#identity-detailed-text=Please log in using your network username and password to confirm your identity.
#identity-login-text=Login
#identity-password-text=Password:
#identity-username-text=Username:
#no-accounts-text=No shared accounts available
#other-user-account-text=Perform print as user
#personal-account-text=Charge to my personal account
#select-account-text=Select the shared account to charge ...
#user-balance-for-text=Balance for {0}
#user-close-warning-text=The application cannot be closed, because it is required to perform printing on this network.
#user-details-text=Details ...

server-name=print.mtu.edu
16 changes: 7 additions & 9 deletions Windows/install.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,7 @@ $outFile = @{
$checkPaperCutInstalledVersion = Get-InstalledApplication -Name 'PaperCut'

# If PaperCut is not installed or if the version installed is lower than the version in the package
if(-not ($checkPaperCutInstalledVersion) -or -not ($checkPaperCutInstalledVersion.DisplayVersion -ge $paperCutVersion)) {
if (-not ($checkPaperCutInstalledVersion) -or -not ($checkPaperCutInstalledVersion.DisplayVersion -ge $paperCutVersion)) {
Show-InstallationProgress -StatusMessage "Removing previous PaperCut Agent versions..."
Remove-MSIApplications -Name "PaperCut" -ExcludeFromUninstall @(, , @('DisplayVersion', $paperCutVersion, 'Contains'))

Expand All @@ -115,10 +115,10 @@ if ($checkPaperCutInstalledVersion.DisplayVersion -ge $paperCutVersion) {
New-Folder -Path $installerDirectory

if (Get-Command -Name Expand-Archive -ErrorAction SilentlyContinue) {
Expand-Archive -Path "$dirFiles\Papercut.zip" -DestinationPath $installerDirectory -Force
Expand-Archive -Path "$dirFiles\Papercut_$papercutVersion.zip" -DestinationPath $installerDirectory -Force
} else {
Add-Type -assembly "system.io.compression.filesystem"
[io.compression.zipfile]::ExtractToDirectory("$dirFiles\Papercut.zip", $installerDirectory)
[io.compression.zipfile]::ExtractToDirectory("$dirFiles\Papercut_$papercutVersion.zip", $installerDirectory)
} # end unzip

# Use custom Papercut config file
Expand All @@ -128,12 +128,8 @@ if ($checkPaperCutInstalledVersion.DisplayVersion -ge $paperCutVersion) {
Execute-MSI -Action 'Install' -Path "$installerDirectory\pc-client-admin-deploy.msi" -Parameters "/qn /norestart ALLUSERS=1"
"<Br />PaperCut MF $paperCutVersion - <install style='color:green'>Installed</install>" | Out-File @outFile

$StartupShortcut = Show-InstallationPrompt -Title 'Papercut AutoRun' -Message "Would you like PaperCut to run on startup?`nOtherwise you'll have to manually start it when you want to print." -ButtonRightText 'Yes' -ButtonLeftText 'No' -Icon Exclamation -PersistPrompt

if ($StartupShortcut -eq 'yes') {
New-Shortcut -Path "$envCommonStartUp\PaperCut MF Client.lnk" -TargetPath "$envProgramFiles\PaperCut MF Client\pc-client.exe" -IconLocation "$envProgramFiles\PaperCut MF Client\pc-client.exe" -Description 'PaperCut MF Client' -WorkingDirectory "$envProgramFiles\PaperCut MF Client"
"<Br />PaperCut MF $paperCutVersion AutoStart - <install style='color:green'>Created</install> - Created link at $envCommonStartUp\PaperCut MF Client.lnk" | Out-File @outFile
} # end if Autostart
New-Shortcut -Path "$envCommonStartUp\PaperCut MF Client.lnk" -TargetPath "$envProgramFiles\PaperCut MF Client\pc-client.exe" -IconLocation "$envProgramFiles\PaperCut MF Client\pc-client.exe" -Description 'PaperCut MF Client' -WorkingDirectory "$envProgramFiles\PaperCut MF Client"
"<Br />PaperCut MF $paperCutVersion AutoStart - <install style='color:green'>Created</install> - Created link at $envCommonStartUp\PaperCut MF Client.lnk" | Out-File @outFile

Show-InstallationProgress -StatusMessage "Cleaning up installation files..."
Remove-Folder -Path $installerDirectory
Expand Down Expand Up @@ -268,6 +264,8 @@ foreach ($printer in $printers) {
Get-WmiObject -Query ("Select * FROM Win32_TCPIpPrinterPort WHERE Name = '{0}'" -f $printer.name ) | Set-WmiInstance -Arguments $newPrinterPort -PutType UpdateOnly | Out-Null
} # End If newPrinterPort.Count
}

# Now check if the printer is already configured. If not we'll add it
try {
$existingPrinter = Get-Printer -Name $Printer.Name -ErrorAction 'Stop'
} catch {
Expand Down
29 changes: 29 additions & 0 deletions Windows/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
# HuskyPrint

## Release 2.7.0.0

Contains the code used to install and uninstall HuskyPrint

## Getting Started

* Follow the Software Packaging Procedure - [Software Packaging Procedure](https://docs.mtu.edu/x/vh-MAg)
* Read and understand the standard Bitbucket usage document - [Bitbucket Usage](https://docs.mtu.edu/x/OCLMAg)
* All code changes require a Jira issue - [Jira Project](https://jira.it.mtu.edu/browse/CSA-443)
* Version Specific Documentation - [HuskyPrint](https://michigantechit.atlassian.net/wiki/x/UwFnAg)

## Coding Style

Install and uninstall should be handled in the PSADT script

Read the following documentation:

* Understanding PSADT files - [PSADT](https://docs.mtu.edu/x/piDMAg)
* Coding Practices - [PSADT - Best Coding Practices](https://docs.mtu.edu/x/iAreAg)

## Deployment

Prior to code being moved into production it must go through the workflow and have gone through code review.

## Contributing

The Software Operations FTE staff will review all code from pull requests.
10 changes: 5 additions & 5 deletions Windows/variables.ps1
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ param()
##*===============================================
[string]$appVendor = ''
[string]$appName = 'Off-Domain Printer Setup'
[string]$appVersion = '2.5.0.0'
[string]$appVersion = '2.7.0.0'
[string]$appArch = ''
[string]$appLang = 'EN'
[string]$appRevision = '01'
[string]$appScriptVersion = '1.0.0'
[string]$appScriptDate = '02/21/2024'
[string]$appScriptDate = '07/31/2024'
[string]$appScriptAuthor = 'Damean Ewan'

## Variables: Install Titles (Only set here to override defaults set by the toolkit)
Expand All @@ -19,7 +19,7 @@ param()

## User Defined Variables:
[string]$appsToClose = 'pc-client'
[string]$papercutVersion = '22.1.3' # Papercut - Latest version M:\install\installers\Papercut\Standard
[string]$papercutVersion = '24.0.2' # Papercut - Latest version M:\install\installers\Papercut\Standard
[string]$xdeVersion = '8.110.9.0' # Xerox Desktop Print Experience - https://www.support.xerox.com/en-us/product/altalink-b8000-series/downloads?language=en
[string]$b8065DriverVersion = "7.76.0.0" # PCL6 Print Driver for Administrators - https://www.support.xerox.com/en-us/product/altalink-b8000-series/downloads?language=en
[string]$c8055DriverVersion = "7.76.0.0" # PCL6 Print Driver for Administrators - https://www.support.xerox.com/en-us/product/altalink-c8000-series/downloads?language=en
Expand All @@ -34,8 +34,8 @@ $software = @{
Description = 'https://michigantechit.atlassian.net/wiki/x/UwFnAg' # The confluence doc tiny link
Keyword = '' # Used to help users find software in Software Center
LocalizedDescription = '' # This description will be shown to end users in Software Center
ContentLocation = "\\multidrive.mtu.edu\multidrive\install\installers\HuskyPrint\Windows\Pre-Release\$appVersion"
EstimatedRuntimeMins = '5'
ContentLocation = "\\multidrive.mtu.edu\multidrive\install\installers\HuskyPrint\Windows\Standard\$appVersion"
EstimatedRuntimeMins = '2'
MaximumRuntimeMins = '15' # Minimum of 15
DetectionMethodConnector = 'And' # ('And','Or') Logic used to connect multiple detection methods
SupersededVersion = '' # The version that needs to be uninstalled before the new version is installed
Expand Down

0 comments on commit a0591da

Please sign in to comment.