Giter VIP home page Giter VIP logo

up2date-win's People

Contributors

aleksandrovrts avatar jenisov avatar steamdragon avatar vchaplinski avatar

Stargazers

 avatar  avatar

Watchers

 avatar

up2date-win's Issues

[BUG] - Installation errors are not written into the event log

Description

Faulty installation doesn't have its footprint in the event log

Reproduction steps

1. Install via auto deployment or via manual Install command in console some failing package.
2. Go to event log
3. No any records with detailed indication of installation failure

Screenshots

![DESCRIPTION](LINK.png)

Logs

No response

[BUG] - Setup Finished page appears before setup actually completed

Description

At the end of the running Up2date client setup the setup wizard reaches the final page while custom actions are still in progress.
Besides, would be good to get rid of or hide the black console windows of running custom actions running at the end of setup.

Reproduction steps

1. Start up2date setup from MSI.
2. Wait for the final setup wizard page.
Expected: no any installation acitvity is goning on
Actual: some activity still is going on on the black console window(s).

Screenshots

![DESCRIPTION](LINK.png)

Logs

No response

[BUG] - Usage of "choco list" command to determine package status is incorrect

Description

Currently to determine if the package is installed we use "Choco list -l" command, expecting list of installed packages starting at the second line of its output.
This assumption is not correct. There may be a lot of supplementary information lines on the output before the actual list of installed products.
Potentially this may result in incorrect determination of the currect status of the package or even in unexpected exceptions.

Reproduction steps

no steps

Screenshots

Logs

No response

๐Ÿ’ก [REQUEST] - Support signature verification for nuget/choco packages

Reference Issues

No response

Summary

Implement support of signature verification for nuget/choco packages.
Preferrably all 3 verification levels including cerificates whitelist.

Basic Example

See existing signature verification feature for MSI packages

Drawbacks

possible complication of the implementation

Unresolved questions

No response

๐Ÿ’ก Add Tests for Settings Manager

Reference Issues

No response

Summary

Just need to add tests for all fields of Settings Manager to be sure that it's normally works

Basic Example

Drawbacks

Unresolved questions

No response

Add Issue And Pull Request Template

Currently there is no strict or even semi-strict issue and pull request format for creating an public issue and pull request. It'll be good to create one

[BUG] - 32-bit client doesn't work correctly on 64-bit platform

Description

After successful installation the client failed to communicate to the server with the error "cannot load bin-x64\wrapperdll.dll".

This is because the c# asssemblies built for "any-cpu" target runs in 64-bit more on 64-bit platform, while the package pre-requisites enlists only 32-bit variant of VCRedist140 package.

Reproduction steps

1. Install 32-bit version of client on 64-bit Windows 10
2. Supply a valid key to establish connection with the server
3. Connection is not established with the error indication as described above (see tooltip hovering service status icon at the left-bottom corner of the console window).

Screenshots

![DESCRIPTION](LINK.png)

Logs

No response

๐Ÿ’ก [REQUEST] - Use Machine GUID to identify Windows-running computer in RITMS UP2DATE

Reference Issues

No response

Summary

  • Show Machine GUID on the initial message/dialog popping up after the client installation. This GUID shall then be communicated to RITMS UP2DATE service admin for getting one-time token specificaally for this particular computer.
  • Send the Machine GUID to RITMS UP2DATE howkbit server among other attributes. This would allow admin to identify the client account on the server.

Machine GUID can be obtained from the registry:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Cryptography\MachineGuid

Basic Example

no

Drawbacks

Machine GUID is not purely unique, so there could be potential coincidences.
But for RITMS UP2DATE such extremely rare cases seem not to be critical, because admin has other identification information of the client computer: like computer name, OS version etc.

Unresolved questions

No response

[BUG] - Choco package signature check always fails

Description

When singature verfification is on the installation of any signed choco package always fails.

(Cause: absence of nuget.exe in setup package and therefore after up2date client installation.)

Reproduction steps

1. On client turn on the signature verification (at minimal level)
2. On UP2DATE server drop a signed choco package to the client
3. Wait for deployment to happen
Expected: success
Actual: error
"On UP2DATE server drop a signed choco package to the client"

Screenshots

![DESCRIPTION](LINK.png)

Logs

No response

๐Ÿ’ก [REQUEST] - Provide a safe way to stop the client

Reference Issues

No response

Summary

Currently there's no way to leave the infinite blocking loop implemented in HawkbitCommunicationClient::Run method.
This is needed, for instance, in order to restart client when communication settings have changed (e.g. with new Cerftificate, hawkbit Uri etc,). This feature would also be useful to enable smooth client deactivation during software upgrade.

Suggestion is to add Stop method to Client interface and implement it in HawkbitCommunicationClient.
This method shall be non-blocking and thread-safe.
It shall guarantee exitting from Run method in reasonable time (matter of a few seconds at max).

Basic Example

  • restart client when communication settings have changed
  • client deactivation during agent software upgrade or removal

Drawbacks

This feature may sunstantially complicate Run method implementation.

Unresolved questions

No response

Sending Messages from C# code to the server

Reference Issues

[REQUEST] - Move WrapperDll from up2date-cpp to up2date-win

Summary

OnDeploymentAction() function [C#] returns bool type not providing any additional information about what went wrong. In result on the server is only message that installation was failed provided

Basic Example

Replacement bool with simple structure may help this.
struct res { bool status; string message; }

Drawbacks

The issue fully depends on [REQUEST] - Move WrapperDll from up2date-cpp to up2date-win

Unresolved questions

No response

๐Ÿ’ก [REQUEST] - Move WrapperDll from up2date-cpp to up2date-win

Reference Issues

No response

Summary

As WrapperDll is facade for up2date-cpp library it'll be better to move it in up2date-win repo to maintain it here

Basic Example

  • Possibility to easily change logic of interaction including future adding of rollbacks

Drawbacks

lead to additional maintaned library in project

Unresolved questions

No response

๐Ÿ’ก [REQUEST] - Rollback Mechanism

Reference Issues

#12
#13

Summary

In the current implementation, we are trying to install packages one by one. If one of them was not successfully installed, the rest of the packages will still be installed, although an error message will be sent to the server.

It is necessary to come up with a rollback, since such behavior can mislead the user.

Basic Example

  1. download package to install
  2. trying to install
  3. fail installation
  4. reject other packages to download
  5. revert installation of previously installed packages
  6. send message to hawkbit that installation was failed so the whole deployment was failed

Drawbacks

Rollback mechanism is worth to provide in wrapperDll (#12 )

Unresolved questions

No response

๐Ÿ’ก Add Builds on Pull Request

Reference Issues

No response

Summary

Need to add builds on pull request to prevent situations when build are not buildable or test are not passing on the pull requests

Basic Example

Drawbacks

Unresolved questions

No response

๐Ÿ’ก [REQUEST] - Add signing of the msi and nuget packages

Reference Issues

No response

Summary

Implement signing of the output msi and nuget packages using Github tooling
(as apart of Pack step?)

Basic Example

no example

Drawbacks

no drawbacks

Unresolved questions

Should this step be executed always or only for releases?

๐Ÿ’ก [REQUEST] - Update version to v2.0.0

Reference Issues

No response

Summary

  • update version for all binaries
  • update version in both setup projects
  • update version in nuget/choco package
  • add version indication on hovering tray icon

Basic Example

no

Drawbacks

no

Unresolved questions

No response

[BUG] - Sometimes failed installation it shown as "Installing" in the console

Description

Sometimes failed installation it shown as "Installing" in the console.
In this case there's no way to re-try installation manually.

Reproduction steps

1. Try to install a "bad" package that always fails
2. Look at its status in the console
3. Sometimes its state hangs at "Installing" until the service restart

Screenshots

![DESCRIPTION](LINK.png)

Logs

No response

Move certificate information from config file to registry

Reference Issues

No response

Summary

To prevent overriding config information during update process it'll be good to move certificate information to registry. And after new installation restore this data

Basic Example

Drawbacks

Unresolved questions

No response

[BUG] - Client cannot communicate to RITMS UP2DATE Server on Windows 7

Description

On fresh Windows 7 we get the following error just after client installation
HTTPLibRequestError. Errorcode 10
It seems to be related to the absence of needed certificates in outdated trusted store.
Installing a modern web browser, e.g. latest Chrome resolves the problem.

Reproduction steps

1. Install the client
2. Open console
3. Hover the yellow "client state" triangle in the left-bottom corner of the console window

Screenshots

![DESCRIPTION](LINK.png)

Logs

No response

[BUG] - A failed/rejected installation blocks all subsequent attempts

Description

Failure during installation of a package delivered to the client via Soft deployment, results in failures of all subsequent Soft deployments of this package.
Similar problem happens to a "rejected" package. All subsequent Soft deployments of this package will be automatically rejected.
Same is true for the Force deployments when "Install package only after confirmation" option is on.

Reproduction steps

"Failure" case:
1. Go to settings and turn "Verify package signature before installation" option on.
2. Initiate Force deployment of any unsigned package. Wait for installation failure.
3. Go to settings and turn "Verify package signature before installation" option off.
4. Initiate Soft deployment of that unsigned package.
Expected - state of the package in the console turns from Error to Downloaded (tooltip "Recommnded for installation"). Howkbit server keeps "running in progress"
Actual - state of the package keeps indicating Error. Howkbit server shows Error state for this deployment action.

"Reject" case:
1. Initiate Soft deployment of any package. Wait for the package to be shown in Client Console
2. Select the package in the Console and click Reject button. State turns to Rejected. Howkbit server shows Error state for this deployment action.
3. Initiate Soft deployment of that same package again.
Expected - state of the package in the console turns from Rejected to Downloaded (tooltip "Recommnded for installation"). Howkbit server keeps "running in progress"
Actual - state of the package keeps indicating Rejected. Howkbit server shows Error state for this deployment action.

Screenshots

![DESCRIPTION](LINK.png)

Logs

No response

๐Ÿ’ก [REQUEST] - Add indication of installation failure in console

Reference Issues

No response

Summary

Currently if installation of a package failed it is not indicated in the console's list of packages. The package is just shown as "downloaded".
Also, it would be good to have a "tost" message popping up when an attempt of installation failer.

Basic Example

no example

Drawbacks

no visible drrawbacks

Unresolved questions

No response

๐Ÿ’ก [REQUEST] - Add "Install only after confirmation" option to configurable client settings

Reference Issues

No response

Summary

  • Implement "Install package only after confirmation" check box in the Console settings (unchecked by default)
  • Make this settings option persistent
  • Send the state of this option as additional attribute to server e.g. "settings.requires_confirmation_before_update: yes/no"
  • Option behavior:
    • When this option is on, any deployment action with "force" flag will require user confirmation similarly to "soft" action.
    • When a "forced" package arrived to client the message pops up saying that "package installation is wating for confirmation"
    • In the UI such package is shown as "Dowloaded" with the hint saying "package installation is wating for confirmation"
    • User confirms installation in UI by selecting the package in the list and pressing "Install" button
    • When user turns the option off - the "forced" package currently waiting for confirmation implicitly gets confirmed (without additional user action).
    • Ability to reject the package installation shall be added

Basic Example

no

Drawbacks

no

Unresolved questions

No response

๐Ÿ’ก [REQUEST] - properly filter choco installation when package is needed to be upgraded instead of reinstall

Reference Issues

No response

Summary

Currently choco package is always performing command choco install --force even when it's needed to be updating.it's nessesary to create difference whenewer we need to install or upgrade package

Basic Example

  1. we have already installed package:
    system detects package version and if it differs from current one launces upgrade
  2. we have no such installed package:
    System just installes the package
  3. system has installed package with the Same version as recieved:
    Package should be rejected as already installed, result is positive

Drawbacks

Unresolved questions

No response

Move certificate information from config file to registry

Reference Issues

No response

Summary

To prevent overriding config information during update process it'll be good to move certificate information to registry. And after new installation restore this data

Basic Example

Drawbacks

Unresolved questions

No response

๐Ÿ’ก [REQUEST] - Support "soft" mode of deployment

Reference Issues

No response

Summary

Implement client-side support for "soft" deployment mode: installation delayed, completing after confirmation in Console.

After receiving soft install request - load package, send confirmation to server about download completion. After user manually installed the product - send confirmation about setup completion to the server.

Basic Example

no

Drawbacks

no

Unresolved questions

No response

๐Ÿ’ก [REQUEST] - Provide more info on failed token activation

Reference Issues

Internal issue: RITMS-22

Summary

  • If by some reason token activation failed then eror message pops up with meaningless text like "one or more errors occurred"
  • UI is not responsible before the error
    image

Basic Example

no example

Drawbacks

It is expected that more info may appear too technical and may frustrate the user.

Unresolved questions

No response

[BUG] - Hasty/worng nootification about client upgrade completion

Description

During up2date client upgrade from the cloud the notification "Product installed" appears far before actual upgrade completion.
After actual completion (followed the console re-start) the second notification appears.

Reproduction steps

1. Install up2date client
2. On RITMS cloud request client upgrade to the next version (deploy the package containing next version)
Expected status sequence on the client:
- downloading 
- installing
- <console and service restarted>
- installed (with pop-up notification)
Actual:
- downloading 
- installed (with pop-up notification)
- <console and service restarted>
- installed (with pop-up notification)

Screenshots

![DESCRIPTION](LINK.png)

Logs

No response

๐Ÿ’ก [REQUEST] - Load communication certificate directly from file

Reference Issues

No response

Summary

Add an option in console to load communication certificate directly from file in addition to requesting it from service by one-time-token.
Add this option to the Authorization dialog.

Basic Example

no example

Drawbacks

complication of UI may affect usability

Unresolved questions

No response

๐Ÿ’ก [REQUEST] - Add ability to open certificate manager from the Console Settings

Reference Issues

No response

Summary

Add ability (link or button) to open certificate manager from the Console Settings dialog when user selected Verify Package Signature via white list of certificates option.

Basic Example

Something here:
image

Drawbacks

As cert manager is not a part of our software there could be some surprises on the systems where we didn't test this feature

Unresolved questions

No response

[BUG] - Use certificate thumbprint instead of serical number

Description

Use certificate thumbprint instead of serical number for indentification of certificate currently used for communication,
Serical number is not unique.

Reproduction steps

1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

Screenshots

![DESCRIPTION](LINK.png)

Logs

No response

๐Ÿ’ก Add creation of Choco Nupkg

Reference Issues

No response

Summary

It will allow to install and update up2date win using choco repo

Basic Example

Drawbacks

Unresolved questions

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.