René's URL Explorer Experiment


Title: MSI Package Uninstall Does not Cleanup Some Things Due to Non-Compliance with MSI Best Practices and Conventions · Issue #2881 · PowerShell/PowerShell · GitHub

Open Graph Title: MSI Package Uninstall Does not Cleanup Some Things Due to Non-Compliance with MSI Best Practices and Conventions · Issue #2881 · PowerShell/PowerShell

X Title: MSI Package Uninstall Does not Cleanup Some Things Due to Non-Compliance with MSI Best Practices and Conventions · Issue #2881 · PowerShell/PowerShell

Description: One or more of the below may be due to the WIX framework not following MSI best practices and conventions - I'm not sure. The MSI package uninstall does not clean up the start menu folder and shortcut that were created. (e.g. "C:\Program...

Open Graph Description: One or more of the below may be due to the WIX framework not following MSI best practices and conventions - I'm not sure. The MSI package uninstall does not clean up the start menu folder and short...

X Description: One or more of the below may be due to the WIX framework not following MSI best practices and conventions - I'm not sure. The MSI package uninstall does not clean up the start menu folder and s...

Opengraph URL: https://github.com/PowerShell/PowerShell/issues/2881

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"MSI Package Uninstall Does not Cleanup Some Things Due to Non-Compliance with MSI Best Practices and Conventions","articleBody":"One or more of the below may be due to the WIX framework not following MSI best practices and conventions - I'm not sure.\r\n\r\n**The MSI package uninstall does not clean up the start menu folder and shortcut that were created.**\r\n(e.g. \"C:\\ProgramData\\Microsoft\\Windows\\Start Menu\\Programs\\PowerShell_6.0.0.13\\PowerShell_6.0.0.13.lnk\")\r\n\r\nThis may be because the package breaks an MSI validation rule (ICE67: https://msdn.microsoft.com/en-us/library/windows/desktop/aa369017(v=vs.85).aspx) that all shortcuts should be defined in the same component as the EXE they point to (their \"target\").  As authored, the shortcut has a dedicated component instead with a dedicated registry keypath just so that the component will work properly.  When done in a compliant way, MSI knows to remove the shortcut when the EXE is removed.  This should also prevent you from having to include an ICO file for the shortcut as the icon will be pulled from the target EXE.\r\n\r\n**It also does not clean up the empty version folder.  (e.g. \"C:\\Program Files\\PowerShell\\6.0.0.13\")**\r\nIn this case I believe this is because you have this folder in the \"CreateFolder\" table and you should not.  MSI implicitly creates folders whenever a component targeted for the folder is selected.  The component reference count is also how it knows when to remove the folder.  There does appear to be a correlating \"RemoveFile\" table entry - but for whatever reason it is not taking effect.  It is possible this is an artifact of using WIX as it may be doing this in error or for handling edge cases.\r\n\r\nThere is not a validation rule for this - it is just a convention of how MSI works.  The valid use case for CreateFolder should be for creating empty folders for which the package will never have a component destined to - for example a data folder in Documents.\r\n","author":{"url":"https://github.com/DarwinJS","@type":"Person","name":"DarwinJS"},"datePublished":"2016-12-14T13:25:50.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":1},"url":"https://github.com/2881/PowerShell/issues/2881"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:90e9fca1-3259-9a81-9ef9-727c3620e685
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idB590:3AA99:153D2E:1EEBAA:6A577780
html-safe-nonce8d64605794774a99fa938e723730884a7a9aebd54da561701e29bde8d496d2f9
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCNTkwOjNBQTk5OjE1M0QyRToxRUVCQUE6NkE1Nzc3ODAiLCJ2aXNpdG9yX2lkIjoiNTIyMjI2NTE1MDkwMDc2MjQ5NiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmac941748940598531ff3564c15868dab294faa4a610441e0c06a7ed2c81001cf1a
hovercard-subject-tagissue:195529981
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/PowerShell/PowerShell/2881/issue_layout
twitter:imagehttps://opengraph.githubassets.com/d27db93cf7f543930cd85727f6bb6b2eaac34ff01d86082224ba632b808bb9e0/PowerShell/PowerShell/issues/2881
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/d27db93cf7f543930cd85727f6bb6b2eaac34ff01d86082224ba632b808bb9e0/PowerShell/PowerShell/issues/2881
og:image:altOne or more of the below may be due to the WIX framework not following MSI best practices and conventions - I'm not sure. The MSI package uninstall does not clean up the start menu folder and short...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernameDarwinJS
hostnamegithub.com
expected-hostnamegithub.com
None4e7a7296a3830877cf21a6ad2a972c9e618a48915e03966cf0c53eb08e5aad98
turbo-cache-controlno-preview
go-importgithub.com/PowerShell/PowerShell git https://github.com/PowerShell/PowerShell.git
octolytics-dimension-user_id11524380
octolytics-dimension-user_loginPowerShell
octolytics-dimension-repository_id49609581
octolytics-dimension-repository_nwoPowerShell/PowerShell
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id49609581
octolytics-dimension-repository_network_root_nwoPowerShell/PowerShell
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasec0ca805e53f128ba1f966be1d3ccd81d0d1959c7
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/PowerShell/PowerShell/issues/2881#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FPowerShell%2FPowerShell%2Fissues%2F2881
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2FPowerShell%2FPowerShell%2Fissues%2F2881
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=PowerShell%2FPowerShell
Reloadhttps://github.com/PowerShell/PowerShell/issues/2881
Reloadhttps://github.com/PowerShell/PowerShell/issues/2881
Reloadhttps://github.com/PowerShell/PowerShell/issues/2881
Please reload this pagehttps://github.com/PowerShell/PowerShell/issues/2881
PowerShell https://github.com/PowerShell
PowerShellhttps://github.com/PowerShell/PowerShell
Notifications https://github.com/login?return_to=%2FPowerShell%2FPowerShell
Fork 8.4k https://github.com/login?return_to=%2FPowerShell%2FPowerShell
Star 54.4k https://github.com/login?return_to=%2FPowerShell%2FPowerShell
Code https://github.com/PowerShell/PowerShell
Issues 1.2k https://github.com/PowerShell/PowerShell/issues
Pull requests 288 https://github.com/PowerShell/PowerShell/pulls
Discussions https://github.com/PowerShell/PowerShell/discussions
Actions https://github.com/PowerShell/PowerShell/actions
Projects https://github.com/PowerShell/PowerShell/projects
Security and quality 3 https://github.com/PowerShell/PowerShell/security
Insights https://github.com/PowerShell/PowerShell/pulse
Code https://github.com/PowerShell/PowerShell
Issues https://github.com/PowerShell/PowerShell/issues
Pull requests https://github.com/PowerShell/PowerShell/pulls
Discussions https://github.com/PowerShell/PowerShell/discussions
Actions https://github.com/PowerShell/PowerShell/actions
Projects https://github.com/PowerShell/PowerShell/projects
Security and quality https://github.com/PowerShell/PowerShell/security
Insights https://github.com/PowerShell/PowerShell/pulse
MSI Package Uninstall Does not Cleanup Some Things Due to Non-Compliance with MSI Best Practices and Conventionshttps://github.com/PowerShell/PowerShell/issues/2881#top
Resolution-FixedThe issue is fixed.https://github.com/PowerShell/PowerShell/issues?q=state%3Aopen%20label%3A%22Resolution-Fixed%22
WG-Maintainers-Buildspecific to affecting the buildhttps://github.com/PowerShell/PowerShell/issues?q=state%3Aopen%20label%3A%22WG-Maintainers-Build%22
https://github.com/DarwinJS
DarwinJShttps://github.com/DarwinJS
on Dec 14, 2016https://github.com/PowerShell/PowerShell/issues/2881#issue-195529981
https://msdn.microsoft.com/en-us/library/windows/desktop/aa369017(v=vs.85).aspxhttps://msdn.microsoft.com/en-us/library/windows/desktop/aa369017(v=vs.85).aspx
Resolution-FixedThe issue is fixed.https://github.com/PowerShell/PowerShell/issues?q=state%3Aopen%20label%3A%22Resolution-Fixed%22
WG-Maintainers-Buildspecific to affecting the buildhttps://github.com/PowerShell/PowerShell/issues?q=state%3Aopen%20label%3A%22WG-Maintainers-Build%22
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.