<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">I am not a powershell person and this piece of the script was created by a co-worker. It almost works but there is something missing and we are having an issue
 getting it to work completely, I have posted it below but to be honest it would be nice if Mozilla provided an automated way to do this themselves other than instructing users to go to about:profiles or for admins to hokey pokey install Firefox to get it to
 work and when I say hokey pokey it includes running the environment variable or group policy for legacy profiles. If someone perfects this script let me know it would be handy to accomplish the task at hand to migrate profiles from 32bit to 64 bit installations.
 It may have to do with multiple profiles from past installations, I show 3 in my profiles.ini and those same three under the profiles folder.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">In our testing it most of the time migrates the profile, other time it will not and we have to remote in and go to about:profiles to get their profile back and
 sometimes it will prompt the user on opening Firefox to choose their default profile. This is why I say it is not perfect but gets most of the way there.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<div style="mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal" style="border:none;padding:0in"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">$users = Get-ChildItem -Path "C:\Users" -Exclude 'Administrator','Public'<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"># Loop through users and delete the file<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">$users | ForEach-Object {<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">If (Test-Path "C:\Users\$($_.Name)\AppData\Roaming\\Mozilla\Firefox\"){<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        Get-Content -Path "C:\Users\$($_.Name)\AppData\Roaming\Mozilla\Firefox\installs.ini" | ForEach-Object {
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        if ($_.StartsWith('Default=Profiles/')) {
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        $profilePath = "\Mozilla\Firefox\Profiles\$($_.Replace('Default=Profiles/', ''))"
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        }<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        $fullprofilepath = "C:\Users\$($_.Name)\AppData\Roaming$profilePath"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">       
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        #test of datestime string write host<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        $DateStringF1 = (Get-Date).ToString('dd_MM_yyyy mm')<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        write-host $DateStringF1 datestring test<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        write-host Checking for folder at C:\Users\$($_.Name)\FirefoxBackup -ForegroundColor Cyan<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        if (!(Test-Path -path C:\Users\$($_.Name)\FirefoxBackup)) {New-Item C:\Users\$($_.Name)\FirefoxBackup -Type Directory}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">       
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        #If it already has Firefox folder, then rename with date stamp and create new folder<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        Else {Rename-Item -Path C:\Users\$($_.Name)\FirefoxBackup -NewName "FirefoxBackup $DateStringF1"} & New-Item C:\Users\$($_.Name)\FirefoxBackup -Type Directory
 -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        start-sleep -s 2<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        #start of copy to $fullprofilepath<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        write-host Copying files from $fullprofilepath to C:\Users\$($_.Name)\FirefoxBackup -ForegroundColor White<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        Copy-Item $fullprofilepath -Destination C:\Users\$($_.Name)\FirefoxBackup -Force -Recurse<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        #import profile
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        write-host Import new profile files C:\Users\$($_.Name)\FirefoxBackup $fullprofilepath!!!!! -ForegroundColor Green<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">       
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">        if (!(Test-Path -path "$fullprofilepath 64bit")) {New-Item "$fullprofilepath 64bit" -Type Directory}<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            $New64BitProfile = "$fullprofilepath 64bit"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            write-host new path $New64BitProfile<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            <#<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            cert9.db (cer8.db in Firefox 57 and below) (pkcs11.txt has replaced secmode.db; do not transfer)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            chromeappsstore.sqlite (deprecated)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            content-prefs.sqlite<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            cookies.sqlite<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            favicons.sqlite (Firefox 55 and above)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            formhistory.sqlite<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            handlers.json (mimeTypes.rdf in Firefox 54 and below; bug 1287658)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            key4.db (key3.db in Firefox 57 and below)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            logins.json (Firefox 32 and above)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            permissions.sqlite<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            persdict.dat<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            places.sqlite<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            sessionstore.js (Firefox 55 and below; can be used as a fallback)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            sessionstore.jsonlz4 (Firefox 56 and above)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            webappsstore.sqlite<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            signons.sqlite (Firefox 31 and below; can be used as a fallback, signon.importedFromSqlite; bug 1013947)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            signons3.txt (Firefox 26 and below; bug 717490; bug 925101)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            Folders:<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            bookmarkbackups<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            chrome (if it exists)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            searchplugins (Firefox 44 and below)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            sessionstore-backups folder
<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">            #><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\cert9.db -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\cert8.db -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\chromeappsstore.sqlite -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">               Copy-Item $fullprofilepath\content-prefs.sqlite -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\cookies.sqlite -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\favicons.sqlite -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\formhistory.sqlite -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\handlers.json -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\key4.db -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\key3.db -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\logins.json -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\permissions.sqlite -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\persdict.dat -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\places.sqlite -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\sessionstore.js -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                copy-Item $fullprofilepath\sessionstore.jsonlz4 -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\webappsstore.sqlite -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\bookmarkbackups -Destination $New64BitProfile -Force -Recurse -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\chrome -Destination $New64BitProfile -Force -Recurse -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\sessionstore-backups -Destination $New64BitProfile -Force -Recurse -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Copy-Item $fullprofilepath\pkcs11.txt -Destination $New64BitProfile -ErrorAction SilentlyContinue<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                $InstallfilePath = "C:\Users\$($_.Name)\AppData\Roaming\Mozilla\Firefox\installs.ini"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                $ProfilefilePath = "C:\Users\$($_.Name)\AppData\Roaming\Mozilla\Firefox\profiles.ini"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                $cut = "\Mozilla\Firefox\Profiles\"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                $zero = ""<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                $shortprofilename = $profilepath.Replace($cut, $zero)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                write-host shortprofilename = $shortprofilename -ForegroundColor Red<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                $64bit_Add_To_Install = "<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">[308046B0AF4A39CB]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Default=Profiles/$shortprofilename 64bit<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Locked=1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                $64bit_Add_To_Profile = "<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">[Install308046B0AF4A39CB]<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Default=Profiles/$shortprofilename 64bit<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Locked=1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="DE" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">[Profile2]<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Name=default-esr-1<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE" style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">IsRelative=1<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Path=Profiles/$shortprofilename 64bit<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">"<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                start-sleep -s 2<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Add-Content -Path $InstallFilePath -Value $64bit_Add_To_Install<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                start-sleep -s 2<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">                Add-Content -Path $ProfileFilePath -Value $64bit_Add_To_Profile          
<o:p></o:p></span></p>
<div style="mso-element:para-border-div;border:none;border-bottom:solid windowtext 1.0pt;padding:0in 0in 1.0pt 0in">
<p class="MsoNormal" style="border:none;padding:0in"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">}<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Mike Kaply <mkaply@mozilla.com>
<br>
<b>Sent:</b> Friday, November 13, 2020 12:48 PM<br>
<b>To:</b> Andrew C Aitchison <andrew@aitchison.me.uk><br>
<b>Cc:</b> Verstraete, John <extern.John.Verstraete@vw.com>; enterprise@mozilla.org<br>
<b>Subject:</b> Re: [Mozilla Enterprise] [From: External] Re: Import legacy profile, but use per-installation profiles thereafter?<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<p class="MsoNormal">On Fri, Nov 13, 2020 at 11:28 AM Andrew C Aitchison <<a href="mailto:andrew@aitchison.me.uk">andrew@aitchison.me.uk</a>> wrote:<o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
Is it really safe to leave legacy/32bit profiles and upgrade firefox to <br>
64bit in a classroom or hotdesk environments ?<br>
<br>
I'm worried about what happens to an upgraded environment when some<br>
but not all machines are reinstalled, so all machines have the same<br>
64bit version of the firefox binaries installed, but profile and<br>
install dirs are a mixture of legacy/32bit and 64bit ?<o:p></o:p></p>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">There's no difference in the profile data between 32 bit and 64 bit Firefox.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The only reason we consider them different profiles in the newer versions of Firefox is that we key off the directory name where Firefox was installed, and on Windows 64 bit and 32 bit are different directories.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Mike<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><br>
<br>
On Fri, 13 Nov 2020, Mike Kaply wrote:<br>
<br>
> In your case, I would just set legacy profiles and leave it. For 99.9% of<br>
> users, that's fine. For technical users that use developer edition, they<br>
> can create a new profile.<br>
><br>
> Mike<br>
><br>
> On Thu, Nov 12, 2020 at 6:29 PM Verstraete, John <<br>
> <a href="mailto:extern.John.Verstraete@vw.com" target="_blank">extern.John.Verstraete@vw.com</a>> wrote:<br>
><br>
>> I would have to agree with Andrew on this, we are also going from 32bit to<br>
>> 64bit and the profile migration is a real sticking point. I understand<br>
>> having a different profile for different versions installed but the profile<br>
>> migration piece should be a smoother process, imagine telling 10,000 users<br>
>> to migrate their own profiles using about:profiles. There has to be a<br>
>> better way from Mozilla to overcome this issue.<br>
>><br>
>> -----Original Message-----<br>
>> From: Enterprise <<a href="mailto:enterprise-bounces@mozilla.org" target="_blank">enterprise-bounces@mozilla.org</a>> On Behalf Of Andrew J.<br>
>> Buehler<br>
>> Sent: Wednesday, November 11, 2020 9:40 PM<br>
>> To: <a href="mailto:enterprise@mozilla.org" target="_blank">enterprise@mozilla.org</a><br>
>> Subject: [From: External] Re: [Mozilla Enterprise] Import legacy profile,<br>
>> but use per-installation profiles thereafter?<br>
>><br>
>> On 2020-11-11 at 10:45, Mike Kaply wrote:<br>
>><br>
>>> When we upgrade or install 64 bit Firefox, if a 32 bit Firefox is<br>
>>> there, we use the same directory.<br>
>>><br>
>>> So my recommendation would be that you not uninstall and then<br>
>>> reinstall, but simply install or let the upgrades happen.<br>
>><br>
>> Unfortunately, that would A: leave 64-bit Firefox installed in the 32-bit<br>
>> program hierarchy, which is undesirable just on general principles, and B:<br>
>> mean that machines which got a clean install would have Firefox installed<br>
>> under a different path from machines which got upgraded, which is<br>
>> undesirable not only from general principles but also because it would make<br>
>> managing configuration and uninstalls and the like harder (which path do we<br>
>> need to install distribution\policies.json under? which path do we need to<br>
>> look under to trigger the uninstall helper? etc.).<br>
>><br>
>> I can see why people might choose to go this route, but it really does not<br>
>> sit well with me.<br>
>><br>
>>> Unfortunately Windows didn't make this situation easy.<br>
>><br>
>> From my perspective, at least at a glance, Windows' contribution to the<br>
>> situation seems relatively minor.<br>
>><br>
>> It also seems to me as if it shouldn't be too difficult to implement the<br>
>> behavior I'd prefer within Firefox, relative to the behaviors that already<br>
>> exist; it just apparently hasn't been done. That's a moot point for the<br>
>> case at hand, because my organization isn't going to wait for a new Firefox<br>
>> release before upgrading even if that new release would include this<br>
>> behavior, but it could still be helpful for others.<br>
>><br>
>> What we'll probably wind up doing is setting the "use legacy profiles"<br>
>> flag, running with that for a year or three, and then eventually turning<br>
>> it off and fixing up any broken profiles that get discovered after that<br>
>> point manually. That's far from ideal, both because of the risk of having<br>
>> those broken profiles and because we'll be locked out of<br>
>> profile-per-install for that long, but it's probably the best we're going<br>
>> to be able to manage.<br>
>><br>
>> I do also still think that a way to explicitly tell Firefox to import a<br>
>> specific existing profile's contents into the current (new) profile would<br>
>> be useful, including in other contexts.<br>
>><br>
>> --<br>
>>   Andrew J. Buehler<br>
<br>
-- <br>
Andrew C. Aitchison                                     Kendal, UK<br>
                        <a href="mailto:andrew@aitchison.me.uk" target="_blank">andrew@aitchison.me.uk</a><o:p></o:p></p>
</blockquote>
</div>
</div>
</div>
</body>
</html>