@@ -55,6 +55,16 @@ const CHROME_BETA_LINUX_INSTALL_LOCATIONS = [
5555 '/opt/google/chrome-beta/google-chrome-beta' ,
5656]
5757
58+ const CHROME_STABLE_WINDOWS_INSTALL_LOCATIONS = [
59+ 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe' ,
60+ 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe' ,
61+ ]
62+
63+ const CHROME_BETA_WINDOWS_INSTALL_LOCATIONS = [
64+ 'C:\\Program Files (x86)\\Google\\Chrome Beta\\Application\\chrome.exe' ,
65+ 'C:\\Program Files\\Google\\Chrome Beta\\Application\\chrome.exe' ,
66+ ]
67+
5868export namespace Chrome {
5969 export async function getBrowserInfo ( channel ?: ChromeChannel ) {
6070 const platform = os . platform ( )
@@ -103,7 +113,30 @@ export namespace Chrome {
103113 ] . map ( ( p ) => p . catch ( ( ) => { } ) )
104114 )
105115 ) . filter ( Boolean ) as BrowserInfo [ ]
106- } else {
116+ } else if ( platform === 'win32' ) {
117+ if ( channel ) {
118+ switch ( channel ) {
119+ case ChromeChannel . stable : {
120+ return await getChromeInfo ( CHROME_STABLE_WINDOWS_INSTALL_LOCATIONS )
121+ }
122+ case ChromeChannel . beta : {
123+ return await getChromeInfo ( CHROME_BETA_WINDOWS_INSTALL_LOCATIONS )
124+ }
125+ default : {
126+ throw new Error ( `Unsupported channel ${ channel } ` )
127+ }
128+ }
129+ }
130+ return (
131+ await Promise . all (
132+ [
133+ getChromeInfo ( CHROME_STABLE_WINDOWS_INSTALL_LOCATIONS ) ,
134+ getChromeInfo ( CHROME_BETA_WINDOWS_INSTALL_LOCATIONS ) ,
135+ ] . map ( ( p ) => p . catch ( ( ) => { } ) )
136+ )
137+ ) . filter ( Boolean ) as BrowserInfo [ ]
138+ }
139+ else {
107140 throw new Error ( 'Unsupported platform' )
108141 }
109142 }
0 commit comments