See https://forums.fogproject.org/topic/6414/snapin-questions for how to run an msi using snapins.
Best posts made by Joe Schmitt
-
RE: Creating snapin for.msi driver installer
-
RE: Fog Client service stops responding
@tonytonyistony while the client is in this bad state, (continually logging
Could not parse data
), could you try going to the host in the web portal and clickingReset Encryption Data
? Its not needed, but I want to see if it’ll force the client to re-authenticate and fix this issue itself. -
RE: 0.10.6 Client breaking Sysprep
The sysprep section in the wiki is needed for all client versions, even the legacy, and future ones.
-
RE: [HELP WANTED] Client Internationalization
@pmonstad @Fernando-Gietz 0.11.12 includes the
es-ES
,eu
,no
translations, thanks for providing them! @x23piracy Thanks for the Italian translations! If we could get another person to ok the Italian translations I’ll add them in the next client release. -
RE: Creating snapin for.msi driver installer
@Kiweegie you only actually need
msiexec
because its included in PATH. -
RE: Snapins wont run on Linux Clients
@kleanthis just like any other software you’d want on that machine; install it in the image before capture.
-
RE: Windows 7 Activation Proposal
@axel12: I may not be understanding you, but at the institution I work at we do not have the luxury of volume licensing, each computer has its own unique product key.
@jayphizzle We just upgraded to 1.1 and implemented it, but we were using this modification on 0.32 and 1.0.1. There are additional changes I have implemented. However, I am going to re-code them to be cleaner. Once I do that I’ll post all of my changes.
[B]Edit[/B] All changes I have made for v1.1 are now in the original post in case this feature is not put into FOG but people, like jayphizzle wish to implement it.
-
RE: GreenFOG not working with client 0.10.6
Bug confirmed, the culprit? There was a
+
typed in the code instead of a,
https://github.com/FOGProject/fog-client/blob/master/Modules/GreenFOG/Windows/WindowsGreen.cs#L50This will be patched in the next version.
-
RE: FOGUserService Net Framework error 64 bit machines
The client is built with .NET 4.5, but can be run with .NET 3.5 or higher. @Hanz can you download the 0.9.10 debugger (https://github.com/FOGProject/fog-client/releases/download/0.9.10/Debugger.exe) and run it on a machine experiencing this issue. Be sure to not run it elevated (run it as a normal user). Do you get the same
Error Parsing ....
? -
RE: Dual boot - Linux hostname doubt
@eliaspereira Yeah, this feature is fundamentally different from how the client is meant to operate, and so would take a lot of work. What you could do is include a postscript, or a script in the Linux partition set to run on first boot, to take care of the host renamining and active directory join.
-
RE: Windows 7 Activation Proposal
@Ivanov Alexandru I believe it should work with no changes but currently where I work we are still running 1.1.0. My guess is that some of the line numbers may be off. However, if you would like help implementing it into 1.1.2 I would be more than willing to assist you. You can PM me if you wish me to help.
-
RE: Rolling Reboot -- FOG Client AD issue
This isn’t an issue with AD joining. Rather the server isn’t clearing the task properly, thus the client thinks it needs to restart to let thr task run.
-
RE: Snapin will not start
@cotec, you need to deploy the snapins before the client will run them. Goto your host, select’
Basic Tasks
->Advance
-> EitherSingle Snapin
orAll Snapins
. -
RE: Fog Client problem xubuntu
@jpLeca this issue is caused by newer versions of mono having a broken keystore. I hope to circumvent this issue in the future but in the mean time:
Try uninstalling the client, removing mono and installing an older build, and then installing the client . Note that may have to repeat these steps until you find a mono build that does not have the bug.
-
RE: Windows 7 Activation Proposal
@Tom Elliott, that is great, it is one less thing I have to implement each time I upgrade!
-
RE: AD Join Not Functioning (Code 87)
@VincentJ please check the windows event log for the corresponding error.
-
RE: Creating snapin for.msi driver installer
Well then you need to supply those silent arguments. It seems like its ‘crashing’ because its running the exe, which is spawning a gui to the SYSTEM account and waiting for input. Post windows xp, you cannot see a SYSTEM gui. You need to make the snapin perform silently.
-
RE: Installing on Ubuntu 18.04
@Coconutdog I would recommend switching to an earlier LTS, or a different distribution such as Debian or CentOS if you need to get your FOG server working as soon as possible. Ubuntu 18.04 was released only a few days ago, and there are likely multiple things they changed that will break FOG until we can identify and patch them. With that said, if you are still interested in using Ubuntu 18.04, then we’ll definitely help patch your issue and any other 18.04 issues you encounter.
In general, new Ubuntu releases actually tend to be the least compatible with FOG compared to most other distributions, as they derivative from certain conventions and take their own approach on things.
-
Windows 7 Activation Proposal
I’d like to suggest that FOG auto-activate computers after imaging. In my current environment there are many different models each with a unique product key, meaning each computer must be activated manually. This automation would be accomplished with the hostname changer used in the FOG Client. Below is the current code that I have been using.
[B]Edit 1[/B] – List all changes made and switch to hosts table instead of inventory
– Made this proposal similair to a guide, but it is still a feature request[SIZE=4][B]Client[/B][/SIZE]
[B]…\FOG Service\src\FOG_HostNameChanger\MOD_HostNameChanger.cs[/B] (if you have not made any other changes to this file, you may download a compiled version of it in the attachments)
Once this change is completed you must compile the dll (or use the attached one) and give it to every instance of the client, or use the Client updater in FOG.
~line 362
[CODE]
if (arData.Length == 7)
{
strHostName = strHostResults.Remove(0, 5);
String strUseAD = arData[1];
String strD = arData[2];
String strOU = arData[3];
String strU = arData[4];
String strP = arData[5];
String strKey = arData[6];if (strKey != null) { strKey = strKey.Trim(); if (strKey.StartsWith("#Key=")) { strKey = strKey.Replace("#Key=", ""); Process scriptProc = new Process(); scriptProc.StartInfo.FileName = @"cscript"; scriptProc.StartInfo.Arguments =@"//B //Nologo c:\windows\system32\slmgr.vbs /ipk " + strKey; scriptProc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; scriptProc.Start(); scriptProc.WaitForExit(); scriptProc.Close(); scriptProc.StartInfo.Arguments =@"//B //Nologo c:\windows\system32\slmgr.vbs /ato"; scriptProc.Start(); scriptProc.WaitForExit(); scriptProc.Close(); } }
[/CODE]
[SIZE=4][B]SQL Database[/B][/SIZE]
Using phpmyadmin or the terminal, add a column to the hosts table with the following attributes:
[CODE]
Column: hostProductKey
Type: varchar(50)
Collation: latin1_swedish_ci
Null: No
Default: None
[/CODE][SIZE=4][B]FOG Web Server[/B][/SIZE]
[B]/var/www/fog/service/hostname.php[/B]
[PHP]
print ‘#ADPass=’.$Host->get(‘ADPass’).“\n”;
print ‘#Key=’.$Host->get(‘productKey’);
[/PHP][B]/var/www/fog/lib/fog/Host.class.php[/B]
line ~#9
[PHP]
public $databaseFields = array(
‘id’=> ‘hostID’,
‘name’=> ‘hostName’,
'productKey => ‘hostProductKey’,
[/PHP][B]/var/www/fog/lib/pages/HostManagementPage.class.php[/B]
line ~#177 AND ~#373
[PHP]
_(‘Host Description’) => ‘<textarea name=“description” rows=“5” cols=“40”>${host_desc}</textarea>’,
_(‘Product Key’) => ‘<input type=“text” name=“key” value=“${host_key}” />’,
[/PHP]line ~#206
[PHP]
‘host_devs’ => $_REQUEST[‘dev’],
‘host_key’ => $_REQUEST[‘key’],
[/PHP]line ~#277
[PHP]
‘host_devs’ => $_REQUEST[‘dev’],
‘host_key’ => $_REQUEST[‘key’],
[/PHP]line ~#401
[PHP]
‘host_devs’ => $Host->get(‘kernelDevice’),
‘host_key’ => $Host->get(‘productKey’),
[/PHP]/[B]var/www/fog/service/key.register.php[/B] (Optional if you want to be able to update a host’s product key at boot after being registered)
–See Attachments[SIZE=4][B]Host Registration[/B][/SIZE]
See [url]http://www.fogproject.org/wiki/index.php/Create_Custom_Fog_Registration_menu[/url]
Note that the wiki’s instructions are not up to date below are the changes, in the format old_command => new_command
You may also have authentication issues if you try and unzip the init.xz file where it resides, if so move it to another folder and move it back when finished)
[CODE]
gunzip init.gz => xz --decompress init.xz
gzip init => xz -z -9 -C crc32 init
[/CODE][B]…/bin/fog.key.reg[/B] (Optional if you want to be able to update a host’s product key at boot after being registered)
–See Attachments, remove the .txt ending on it. I am unable to upload files that end in .reg[B]…/bin/fog.man.reg[/B]
line ~#76
[CODE]
ip=“”;
productKey=“”;
[/CODE]line ~#231
[CODE]
esac
fi
echo
echo -n " Enter the product key for this computer: ";
read productKey;
productKey=echo $productKey | base64
;
echo
[/CODE]line ~#302
[CODE]
res=“”;
while [ “${res}” = “” ]
do
res=wget -O - --post-data="mac=$mac&advanced=1&host=$host&imageid=$imageid&productKey=$productKey&primaryuser=$primaryuser&other1=$other1&other2=$other2&doimage=$realdoimage&doad=$blDoAD&location=$locationid&username=$user64&groupid=$group64" "http://${web}service/auto.register.php" 2>/dev/null
echo “${res}”;
sleep 2;
done;
[/CODE][B]…/etc/init.d/S99fog[/B] (Optional if you want to be able to update a host’s product key at boot after being registered)
line ~#56
[CODE]
elif [ “$mode” == “manreg” ]; then
run=“/bin/fog.man.reg”;
after=$afterActionTerm;
elif [ “$mode” == “keyreg” ]; then
run=“/bin/fog.key.reg”;
after=$afterActionTerm;
[/CODE][SIZE=4][B]Boot Menu[/B][/SIZE] (Optional if you want to be able to update a host’s product key at boot after being registered)
[B]/var/www/fog/lib/fog/BootMenu.class.php[/B]
line ~#79
[PHP]
‘fog.reginput’ => ‘Perform Full Host Registration and Inventory’,
‘fog.keyreg’ => ‘Update Product Key’,
[/PHP]line ~#529
[PHP]
if (!$this->Host || !$this->Host->isValid())
{
if ($option != ‘fog.quickdel’ && $option != ‘fog.keyreg’ &&$option != ‘fog.quickimage’ && ( $showDebug || $option != ‘fog.debug’ ) )
$this->menuItem($option, $desc);
}
[/PHP]line ~#560
[PHP]if ($option == ‘fog.sysinfo’)
$this->menuOpt($option, “mode=sysinfo”);
else if ($option == ‘fog.keyreg’)
$this->menuOpt($option, “mode=keyreg”);
[/PHP][url=“/_imported_xf_attachments/1/1000_HostnameChange.dll?:”]HostnameChange.dll[/url][url=“/_imported_xf_attachments/1/1001_key.register.php?:”]key.register.php[/url][url=“/_imported_xf_attachments/1/1003_fog.key.reg.txt?:”]fog.key.reg.txt[/url]
-
RE: Invalid promptTime (Grace Period)
@Wayne-Workman Already on it. 0.11.6 will feature a new style shutdown prompt.