how to change from per user to all user installation?

送分小仙女□ 提交于 2019-12-01 08:53:21

问题


For our msi , we did not mention allusers property in existing releases. so by default it went as per user.

Our customers installed the application using an admin user id and that admin left the company. So his user id is no more in valid condition.

Now they are unable to migrate to newer version using another admin account (as it was installed as per user).

Though we can change our msi to support allusers ,it would not work in migration (major upgrade).

It seems like only when we give total new release where no existing release is supported we can fix the issue.

Is there any other workaround there to mention even if the previous msi was per user ,it should be major upgraded now?

We are using WIX 3.5 for our installation process.


回答1:


Unfortunately, the Windows installer does not support upgrading "across contexts". As you found a per-machine package cannot upgrade a per-user package and a per-user package cannot upgraded a per-machine package.

You could write an executable that finds the old .msi and uninstalls them using APIs like ::MsiEnumRelatedProducts() to find the products and then ::MsiConfigureProduct() to remove them. However, without the user account, I'm not sure you'll be able to see the per-user installed product.



来源:https://stackoverflow.com/questions/15652821/how-to-change-from-per-user-to-all-user-installation

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!