Restarting your Software deployment packages - deployment

Ok, so to keep my question simple I wanted to break down the situation.
I have groups listed in AD and are mirrored on SCCM.
In each group, I have select software deployed.
Each group has say about 30 pc's
1 PC has stopped working due to a hard Drive failure. Easy Repair!
PC has been repaired (HDD replaced) and configured and placed back onto the same group in AD and SCCM.
Because I already deployed previously in this group, SCCM shows 100% completed.
I want to redeploy the same software for the group.
Current method requires me to remove and setup the deployment package all over again.
Does anyone know of a way to have it simply refresh the software deployments you have already done to scan and detect and reinstall as needed.
If you followed my example, you basically refresh the deployment.
It should scan and detect 29 pc's already have the software installed and one does not. Thereby pushing the software out without me having to delete and create a new deployment package.
Thanks in advance!

On the pc with the high drive crash I would delete that record from SCCM and reinstall the agent on that PC. The SCCM DB probably will not updated right away, this may help the process.

Related

Azure Service Fabric - Deleting old versions of applications to reclaim disk space

We are running out of space on our D:\Temporary Storage drive on our Service Fabric Cluster VM's (5 nodes). I have conversed back and forth with MS support about what is safe to delete from this drive and the answers I'm getting are ambiguous at best.
I've noted that we have many older versions of our applications and services on the VM's that we don't need anymore. Getting rid of these will definitely help free up space. I've asked MS support if it's safe to delete the old versions of the applications and they said yes, but then directed me to these links:
https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-deploy-remove-applications#remove-an-application-package-from-the-image-store
https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-deploy-remove-applications#remove-an-application
https://learn.microsoft.com/en-us/azure/service-fabric/service-fabric-deploy-remove-applications#unregister-an-application-type
So the three sections we have are:
Remove an application package from the image store
Remove an application
Unregister an application type
These all deal with PowerShell scripts that need to be run, which I am very novice with. I have direct RDP access to the VM's and have the ability to simply delete the files via Windows File Explorer. Is it ok to do it this way, or do I need to go the Powershell route for deletion and Unregistering the application? At least for #1, removing the application package from the image store, there shouldn't be any issue with me just deleting that from Windows File Explorer in the VM's, correct?
EDIT: this is not a duplicate of Run out of storage on Service Fabric scale set :
I am asking about manually clearing space on the SFC VM's - the above thread is talking about setting up your application deployment to auto-delete old versions of applications. These are not duplicates.
You shouldn't delete manually from within the VM, SF should handle it and you may cause issues.
The right way to remove them is doing like the documentation says, using powershell like:.
Remove-ServiceFabricApplicationPackage -ApplicationPackagePathInImageStore MyApplicationV1
You can also remove it manually via Service Fabric Explorer:
The option in the left will try to delete all the Application Package Versions registered in the cluster(if none in use)
The one in the right will delete a specific version (if not in use)
Keep in mind that to remove a package you should remove any running application that is using the same package version.
The other option is deleting the old version when you deploy a new one. I will link you to this other SO question: Run out of storage on Service Fabric scale set

Best way to deploy a Click Once application on a network

I am trying to install an Outlook 365 Add In that I have developed. I have published the application as a click once which can be installed by running the setup file.
I need the application to be installed on all company computers, so the best place to host the application would be the company network.
How can I deploy my application to all users and allow the application to automatically update every time there is a new version published?
I greatly appreciate any help with this issue. This is the first large application deployment that I have undertaken.
I can't advise on the specific mechanism for deploying an "installed" version of your solution - I imagine you can accomplish that with most application deployment systems. Otherwise users will have to run the setup.exe from your network deployment. When you do have an update you simply copy the new files to a new versioned folder and existing installations will detect the change of version number in the deployed manifest and auto-update. See also: https://msdn.microsoft.com/en-us/library/bb772100.aspx

Remote application deployment

We have a c#, .NET 4.0, windows application which we deploy to a terminal server. (Developed using VS 2010). This application makes use of several WCF services sitting on another server.
Our users access the front-end via remote desktop session. (They all have a .RDP file on their desktops.)
My question is regarding the deployment of this front-end. Currently, if we need to do an emergency deployment during business hours, we need to kick all the users off that are hooked into the app (as they are using the dll's that we need to replace). This is not ideal, obviously. We work in quite a business-critical environment, so these deployments are unavoidable. I've investigated ClickOnce, but have read that you cannot use this with terminal services application here. (Which kind of makes sense since it's essentially one app being "accessed" by several clients...)
I would like to be able to do a "silent" deployment whereby the user knows nothing about the fix until they restart their instance of the application. I'm not sure this is even possible?
I would appreciate any guidance or suggestions on this!
Yep, I do this all the time with a RD app -- you just need to move or rename the DLLs instead of deleting them. Windows allows moves and renames when DLLs are in use, but prevents you from deleting them. If you use Windows Installer to deploy your app, it will do the moves automatically (and delete the old versions when the system is next rebooted).
Once you replace the DLLs this way, existing sessions will continue to use the old, renamed versions, and new sessions will use the new versions. Of course, depending on how many DLLs you have, how long it takes your app to load them into memory, and how much activity you have on your server, you could run into a scenario where the app loads some of the old DLLs and some of the new ones when you're in the middle of updating them, but that would likely be rare.

ClickOnce application won't start up under a given profile

This issue has come up three times in our environment. After installing the ClickOnce application, I expected it to startup automatically (as I have it set to do after install completes), but it did not.
I try running the application from the shortcut, and it brings up the "Launching Application" dialog, but then immediately closes and the application is not started. It's acting as if another instance of the application is currently running (I have it set to only run one instance at a time).
This issue is profile-specific. Installing it on the same machine using a different profile runs just fine, but for whatever reason, no amount of uninstalling, reinstalling, and restarting the computer seems to fix a profile once it runs into this problem.
Our current fix for this is to completely delete the profile and "reload" it. I'd really like to know what the actually problem is though, being that we've run into it three times now.
Some other information that may be of use:
This application was originally deployed using Windows Installer (MSI). I uninstalled the application from the Add/Remove Programs prior to installing the newer ClickOnce version.
These users were previously part of local administrators group (while running the MSI version). Their privileges have since been lowered to "standard user".
Do you have any logging at startup that shows exactly what the application is doing, so you can tell where it's crashing?
The user doesn't have Kensington mouse software installed, do they? There is a known conflict there, the symptoms of which are exactly as you report -- the user clicks the shortcut to start the application, it updates, and then does nothing.
I was able to fix those installations by creating a new certificate for the app. It appears this issue had to do with the certificate reaching its expiration date.
Instead of deleting the profile try this:
Log onto the PC as an admin
Delete/rename C:/Documents and Settings/(UserCorpID)/Local Settings/Application Data/Microsoft/Windows/UsrClass.dat file

ClickOnce upgrades leaving early versions on disk

There seems to be a problem with ClickOnce deployments.
The manifest file is executed on the client machine, and there's a check to see if a new version is available. If a new version is available, this gets copied over to the client machine. BUT the old version remains.
This can be a problem. If the application is upgraded on a regular basis, this will end up occupying a large and continually growing disk space. This could be a problem at a work place where multiple users all logged on to the same Citrix server.
Is there a straightforward solution to ClickOnce not cleaning up after itself? Is there some setting that I'm missing?
Later Edit
This question actually states something that's incorrect. In reality ClickOnce upgrades only leave the previous version behind, and versions before that are cleaned up. I'll leave the question here (as opposed to deleting it) as this is a misunderstanding that others could have as well.
According to Microsoft Click once does clean up after itself however it will always leave the previous one version behind to enable roll-back functionality.
see http://www.sayedhashimi.com/PermaLink,guid,520010a7-6ce7-47ec-af0f-a57694bf3d41.aspx for more info.