What is the best way to install/uninstall an exe on Greengrass Windows Core Devices

0

I have an use case to install an application(.exe) on a group of green grass core devices which are typically windows boxes. This application has to be upgraded on all core devices whenever a new release happens. We might uninstall or reinstall this application multiple times for whatsoever reasons.

I am exploring these two ways to perform this task.

  1. Greengrass Deployments - Create a component with .exe file as artifact. recipe.json is given below. And deploy this component targeting a thing group. { "RecipeFormatVersion": "2020-01-25", "ComponentName": "COMPONENT_NAME", "ComponentVersion": "COMPONENT_VERSION", "ComponentDescription": "This device health component collects device health and send it to IoT Core", "ComponentPublisher": "COMPONENT_AUTHOR", "Manifests": [ { "Platform": { "os": "windows" }, "Lifecycle": { "Run": "start /wait {artifacts:decompressedPath}/com.mx.emarOffline/eMAROfflineInstall.exe /VERYSILENT" }, "Artifacts": [ { "URI": "s3://BUCKET_NAME/COMPONENT_NAME/COMPONENT_VERSION/com.mx.emarOffline.zip", "Unarchive": "ZIP" } ] } ] }

  2. AWS Systems Manager - Install Systems Manager component on windows core device and manages this application installation/uninstallation.

Please suggest which approach is best for my use case. Is there any other way other than above two approaches?

已提問 1 年前檢視次數 268 次
1 個回答
0

Hello,

From the description of the component, it seems that the executable is used to collect health data to be sent to AWS via IoT Core. If you run this inside Greengrass, you can take advantage of the Greengrass IPC to send the messages to IOT Core via the Greengrass MQTT connection, or use the credential provider (TES) to send the data via the REST API.

SSM only provides you with the possibility to run scripts remotely, but you are still responsible of transferring the executable to the instance coping with possible interruptions, etc, execute it and also provide the credentials so that it can connect to the AWS IoT Core backend.

Thanks

AWS
已回答 1 年前

您尚未登入。 登入 去張貼答案。

一個好的回答可以清楚地回答問題並提供建設性的意見回饋,同時有助於提問者的專業成長。

回答問題指南